Tip iOS cho tháng năm

CSS string Nếu ta muốn sử dụng style có sẵn trên web thì có thể nghiên cứu phương án tận dụng nó lại trên iOS. Bước đầu implement phương thức gắn css style vào string 1 2 3 4 5 6 7 8 9 10 11 12 13 extension NSAttributedString { convenience public init(text: String, styles: [String: String]) { let style = styles.compactMap { (key, value) -> String in return "\(key): \(value)" }.

Ôn tập iOS

Một số câu hỏi ôn tập iOS Begin Câu 1 1 2 3 4 5 6 7 struct Question { var level: Int = 1 } var question1 = Question() var question2 = question1 question2.level = 2 Giá trị của question1.level sẽ như nào? Nếu Question là class thì có gì khác không? Tại sao? Câu 2 1 2 3 4 5 var view1 = UIView() view1.

Codable remake part 1

Dạo này mình hơi bận nên bỏ bê blog quá. Hôm nay quyết định chăm chút trở lại bằng một series về Codable, coi như làm nóng bản thân :D. Đã có một bài mình đề cập đến vấn đề này. Tuy nhiên bài viết đó chỉ ở mức giới thiệu, lần này mình sẽ tăng độ khó cho game thêm chút nữa. Codable 1 2 3 4 5 6 7 8 9 10 11 12 13 let json = """ { "userName": "crossover", "position": "SG", "id": 234 } """.

Làm việc với response

Bài toán Khi nhận response từ server, chúng ta thường thấy json có điểm chung như sau 1 2 3 4 5 struct Response { let timestamp: String let id: Int let payload: Any } timestamp và id là những trường mặc định luôn được trả về, chúng có type cố định. Còn type của payload lại phụ thuộc vào api bạn call, thế nên mình đang để dưới dạng Any.

Nếu thì và những cách thay thế

Bạn có biết rằng trên thế giới có một cộng đồng anti if, else. Trên đường đi tìm đường cách mệnh, coi như cũng tạo chút thử thách cho bản thân, mình đã tìm ra một số phương pháp tương đối hữu ích. 1. Thủ thuật refactor Các phương pháp này có thể coi như là trick để code trông gọn hơn, đồng thời loại bỏ if. Dictionary Đây là phương pháp mình sử dụng từ lâu.