Duyệt bởi
Month: Tháng Bảy 2019

Objective-C Runtime Part 3 – Swift & Objc Runtime

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 trung nói về ứng dụng dùng Swift của bạn sử dụng Objc Runtime như thế nào. Series này được chia thành nhiều phần. Phần 1:…

Đọc Thêm Đọc Thêm

Objective-C Runtime Part 2

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 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 &…

Đọc Thêm Đọc Thêm

Objective-C Runtime Part 1

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 C và assembly, là trái tim của ngôn ngữ Objective-C. Nó thêm tính năng hướng đối tượng cho ngôn ngữ C để tạo ra ngôn…

Đọc Thêm Đọc Thêm

Runloop

Runloop

Có một thành phần rất quan trọng đóng vai trò trái tim của App trong iOS, đó chính là runloop. Cũng như tên gọi của nó, runloop là một vòng lặp ở thread sử dụng để chạy các trình xử lý sự kiện để đáp ứng các event được gửi đến. Nó giống như một hộp thư mà sẽ đợi thông điệp với và gửi tới đúng chỗ nhận thông điệp đó. Một runloop cơ bản có thể như sau:…

Đọc Thêm Đọc Thêm

Retain count được lưu trữ như nào

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. Ta thấy nó gọi tiếp hàm C++ rootRetainCount. Ta tiếp tục xem nó làm gì tiếp. Apple define 2 hàm rootRetainCount. Một hàm sử dụng…

Đọc Thêm Đọc Thêm