Bài viết hôm nay chủ yếu nói về class trong Objc được implement như thế nào và tại sao objc runtime có thể biết được object đó thuộc class nào để gọi hàm. Series này được chia thành nhiều phần. Phần 1: Khái niệm, ưu nhược điểm. Phẩn 2: Chúng ta có thể làm gì […]
Advance knowledge
Objective-C Runtime Part 3 – Swift & Objc Runtime
Thậm chí iOS App của bạn được viết bằng swift hoàn toàn, thì bên trong nó đều sử dụng tới Objc Runtime. Bởi vì những thư viện cốt lõi đều được viết bằng Objc như Foundation, UIKit, …. Mà gắn với Objc thì tất nhiên phải có Objc Runtime rồi. Bài viết hôm nay tập […]
Objective-C Runtime Part 2
Có rất nhiều thứ mà chúng ta có thể làm với objc runtime, tuy nhiên trong bài này mình chỉ đề cập tới một số trường hợp thông dụng hay sử dụng. Các vấn đề khác các bạn có thể tìm hiểu thêm và sau đó comment ở bên dưới nhé. Series này được chia […]
Objective-C Runtime Part 1
Series này được chia thành nhiều phần. Phần 1: Khái niệm, ưu nhược điểm. Phẩn 2: Chúng ta có thể làm gì với objc runtime. Phần 3: Swift & Objc Runtime Phần 4: Inside Objc Class Phần 5: Message dispatch 1. Khái niệm Objective-C runtime là một thư viện runtime, được viết chủ yếu bằng […]
Retain count được lưu trữ như nào
Chắc hẳn có nhiều bạn cũng như mình, thắc mắc không biết objective-C lưu trữ retain count như nào. Hôm nay chúng ta sẽ mổ sẻ open source objc4 xem retain count được lưu như nào. Đầu tiên chúng ta xuất phát từ implement của method -[NSObject retainCount] xem retain count được lưu ở đâu. […]
Non-pointer isa
Bài viết này có thể không hữu ích về mặt lập trình, tuy nhiên sẽ giúp ta hiểu hơn về cấu trúc của isa và biết được objc runtime biết được object đó thuộc class nào. Ở kiến trúc 32bit, thì isa được coi là pointer trỏ tới vùng nhớ định nghĩa class. Vì có […]
ARC hoạt động như nào
Chào các bạn, chắc hẳn các bạn cũng nghe nhiều về tính năng này rồi, nhưng đôi khi nhiều người cũng chỉ biết tính năng này để quản lý bộ nhớ thôi. Thì nay mình sẽ viết bài để giải thích xem nó thực sự làm gì. Bài viết này mình không nói về cách […]
Autorelease Pool
Gần đây mình khá tò mò về chủ đề này, nên mình quyết định tìm hiểu kỹ về nó. Sau khi đã thoả mãn sự tò mò thì nay mình viết bài chia sẻ về nó. 1. Bối cảnh Bạn nào lập trình từ hồi non-arc thì sẽ rõ về autorelease pool hơn các bạn […]