Block Internal

Đã bao giờ các bạn thắc mắc, block được implement như thế nào, nó hoạt động ra sao, tại sao lại có thể bị memleak khi dùng block trong Objc chưa. Mình có một sự tò mò suốt 1 thời gian dài, đó chính là block đã retain các biến của mình khi nào, và […]

Message Dispatch

Như những bài trước mình đã trình bày, object sẽ chứa một trường là isa. Từ isa thì runtime sẽ lấy được thông tin của class đó. Và từ đó dùng nó để gọi hàm khi chúng ta gọi hàm trong objc. Thì hôm nay chúng ta sẽ tìm hiểu về cơ chế Message Dispatch […]

Inside Objc Class

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ì […]

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 […]

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 […]

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 […]