Tìm hiểu rò rỉ bộ nhớ trong closure

ℹ️ Bài này được mình dịch từ đây Apple đã có một bài báo về strong reference cycles trong class. Không khó hiểu sự rò rỉ bộ nhớ (memory leak) là gì và làm thế nào để tránh trong trường hợp này. Tuy nhiên, đây là một tình huống khá hiếm, và dễ dàng phát hiện được. Tôi sẽ chú ý về closure với nhiều chỗ khó hiểu hơn. Vì vậy, hãy làm rõ điều này một lần và cho sau này nữa. ...

13 tháng 3, 2017 · 7 phút · phantuanvi

Sử dụng Coordinator để điều khiển App Flow trong mô hình MVVM-C

ℹ️ Bài này được mình dịch từ đây Ở bài trước, chúng ta đã biết sự phức tạp và rắc rối của controller, điều này giải thích vì sao MVC lại có nickname “Massive ViewController” ...

10 tháng 3, 2017 · 7 phút · phantuanvi

Kiến trúc MVVM: hướng dẫn Step-by-Step

ℹ️ Bài này được mình dịch từ đây Việc lựa chọn đúng cho mô hình kiến trúc của app là một nhiệm vụ quan trọng. ...

6 tháng 3, 2017 · 8 phút · phantuanvi

Ba cách để truyền data từ Model đến Controller

ℹ️ Bài này được mình dịch từ đây. Image credit: Stanford University CS193P, Fall-2010 ...

2 tháng 3, 2017 · 9 phút · phantuanvi

Mô hình kiến trúc iOS (phần 2)

ℹ️ 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. ...

27 tháng 2, 2017 · 9 phút · phantuanvi

Mô hình kiến trúc iOS (phần 1)

ℹ️ 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? ...

24 tháng 2, 2017 · 13 phút · phantuanvi

Làm thế nào để trở thành iOS developer?

ℹ️ 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. ...

20 tháng 2, 2017 · 11 phút · phantuanvi

Tư duy trong ngôn ngữ Swift, Phần 4: map all the things!

ℹ️ 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>: ...

16 tháng 2, 2017 · 6 phút · phantuanvi

Tư duy trong ngôn ngữ Swift, Phần 3: Struct vs. Class

ℹ️ 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. [1] ...

12 tháng 2, 2017 · 5 phút · phantuanvi

Tư duy trong ngôn ngữ Swift, Phần 2: map those arrays

ℹ️ 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(). ...

8 tháng 2, 2017 · 6 phút · phantuanvi