Câu hỏi phỏng vấn Objective-C
Câu hỏi

Sự khác biệt giữa NSMapTable và `N...

Câu trả lời

NSMapTable

  • Linh hoạt với con trỏ: NSMapTable cung cấp sự linh hoạt hơn với các tùy chọn về quản lý bộ nhớ cho cả khóa và giá trị. Nó cho phép lựa chọn giữa con trỏ mạnh (strong pointers) và yếu (weak pointers), điều này rất hữu ích trong việc quản lý vòng đời của các đối tượng mà không gây ra tình trạng rò rỉ bộ nhớ
  • Tùy chọn cho khóa và giá trị: NSMapTable cho phép tùy chỉnh cách lưu trữ khóa và giá trị, bao gồm cả việc lưu trữ khóa và/hoặc giá trị một cách yếu, tự động loại bỏ các mục nhập khi khóa hoặc giá trị được giải phóng
  • Không có phiên bản bất biến: Khác với NSDictionary, NSMapTable chỉ có phiên bản có thể thay đổi (mutable), không có phiên bản bất biến

NSDictionary

  • Sao chép khóa: NSDictionary sao chép khóa và giữ các tham chiếu mạnh đến giá trị. Điều này đảm bảo rằng khóa không thay đổi giá trị trong suốt vòng đời của mục nhập trong từ điển, nhưng cũng đồng nghĩa với việc khóa phải tuân thủ giao thức NSCopying
  • Hiệu suất: NSDictionary có thể nhanh hơn trong việc tra cứu do cách nó được tối ưu hóa, nhưng việc sao ché...
senior

senior

Gợi ý câu hỏi phỏng vấn

senior

Giải thích sự khác biệt giữa interfaces, delegates, và protocols trong Objective-C?

senior

Trong Objective-C, khi bạn gọi một phương thức trên một con trỏ nil, điều gì sẽ xảy ra?

expert

Giải thích trường hợp sử dụng khi ARC không giúp bạn giải phóng bộ nhớ (nhưng GC sẽ giúp)?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào