Bài này được mình dịch từ đây Bài dịch phần 1. MVVM Mới nhất và tuyệt vời nhất trong mô hình MV(X) MVVM là mới nhất trong kiểu MV(X), hãy hy vọng nó sẽ giải quyết được các vấn đề mà MV(X) đối mặt trước đây. Về lý thuyết Model-View-ViewModel rất tốt. View và Model đã quen thuộc với chúng ta, nhưng còn phần trung gian, là ViewModel.

Continue reading

Bài này được mình dịch từ đây Bài dịch phần 2 Bạn có cảm thấy lạ khi thực hiện MVC trong iOS? Bạn có những nghi ngờ về việc chuyển sang MVVM? Bạn có nghe nói về VIPER, nhưng không chắc rằng nó có xứng đáng không? Tiếp tục đọc, và bạn sẽ tìm thấy câu trả lời cho những câu hỏi trên, nếu bạn không tìm thấy hãy comment bên dưới

Continue reading

Bài này được mình dịch từ đây. Động lực cá nhân Tôi thường xuyên nhận được nhiều email và message. “Bob, làm thế nào để trở thành developer bá đạo?” “Bob, Tôi muốn thay đổi sự nghiệp. Tôi thích những bài viết và video của bạn. Làm thế nào để trở thành iOS developer?” “Bob, Tôi không biết bắt đầu như thế nào. Tôi chưa từng lập trình trước đó.

Continue reading

Bài này được mình dịch từ đây: alisoftware.github.io Bài này là 1 phần của series. Bạn có thể đọc các phần còn lại ở đây: phần 1, phần 1 bổ sung, phần 2, phần 3, phần 4 Array vs. Optional Ở phần trước, chúng ta đã học được function map() và flatmap() trên Array<T>: swift 1 2 3 // Method on Array<T> map( transform: T -> U ) -> Array<U> flatMap( transform: T -> Array<U> ) -> Array<U> Điều này có nghĩa là, cho 1 biến đổi T->U bạn có thể biến đổi 1 mảng của T thành 1 mảng của U.

Continue reading

Bài này được mình dịch từ đây: alisoftware.github.io Bài này là 1 phần của series. Bạn có thể đọc các phần còn lại ở đây: phần 1, phần 1 bổ sung, phần 2, phần 3, phần 4 Nhắc lại phần trước Trong phần 2, chúng ta đã biết cách sử dụng map và flatMap trên array để tránh các biến trung gian khi biến đổi và thay vào đó chúng ta đã sử dụng functional programming.

Continue reading

Bài này được mình dịch từ đây: alisoftware.github.io Bài này là 1 phần của series. Bạn có thể đọc các phần còn lại ở đây: phần 1, phần 1 bổ sung, phần 2, phần 3, phần 4 Trong phần 1, ta đã biết cách làm thế nào để tránh force-unwrapping optionals, để giải cứu ponies 🐴 và tránh code bị crash. Trong phần 2 này, ta sẽ chỉnh sửa code để làm nó trở nên Swift-er hơn thông qua map() và flatMap().

Continue reading

Bài này được dịch từ đây: alisoftware.github.io Bài này là 1 phần của series. Bạn có thể đọc các phần còn lại ở đây: phần 1, phần 1 bổ sung, phần 2, phần 3, phần 4 Đừng bao giờ giết một pony ? Trong bài viết lần trước, tôi kêu gọi các bạn không sử dụng !. Một số bạn có thể đã hiểu theo kiểu tiêu cực như là “không bao giờ sử dụng nó, đừng bao giờ”.

Continue reading

Author's picture

TuanVi

HappYness for everybody

iOS developer

Da Nang