2010-07-02 15 views

Trả lời

69

indexOfObjectIdenticalTo kiểm tra chính xác cùng một số id (cùng một địa chỉ). indexOfObject kiểm tra xem isEqual: có trả lại YES hay không.

+1

Cũng lưu ý rằng ' indexOfObjectIdenticalTo: 'có nhiều thứ tự độ lớn nhanh hơn' indexOfObject: '. Mặc dù không phải là đặc biệt nhanh. Nếu bạn muốn có hiệu suất cao, bạn nên cân nhắc sử dụng 'NSSet' –

18

Sử dụng đầu tiên isEqual: để tìm đối tượng phù hợp, trong khi tìm kiếm thứ hai cho cùng một đối tượng (nghĩa là đối tượng ở cùng một vị trí bộ nhớ).

+0

Giải thích hay. – Sagar

+0

Bất kỳ cách nào để làm cho nó sử dụng isEqualToString: thay vào đó? –

+1

@SantaClaus: Nó đã có. 'isEqual:' và 'isEqualToString:' hoạt động giống hệt nhau khi bạn truyền một 'NSString *'. Sự khác biệt duy nhất giữa hai là một lợi thế hiệu suất nhỏ và kiểm tra kiểu tĩnh được cung cấp bởi 'isEqualToString:', không liên quan trong ngữ cảnh 'indexOfObject:'. –

2

indexOfObjectIdenticalTo là xa hơn nhanh hơn indexOfObject nhưng nó sử dụng con trỏ so == thay vì gọi isEqual:

Nếu bạn đang tìm kiếm một trận đấu con trỏ, luôn luôn sử dụng indexOfObjectIdenticalTo để có được hiệu suất cao điểm

Các vấn đề liên quan