2010-07-02 40 views

回答

69

indexOfObjectIdenticalTo檢查完全相同的id(同一地址)。 indexOfObject檢查isEqual:是否返回YES

+1

還要注意的是' indexOfObjectIdenticalTo:比'indexOfObject:'快很多個數量級。雖然都不是特別快。如果你想要高性能,你應該考慮使用'NSSet' – 2014-10-02 05:20:08

18

第一次使用isEqual:查找匹配對象,而第二次查找同一對象(即對象位於同一內存位置)。

+0

很好的解釋。 – Sagar 2011-11-25 05:50:45

+0

任何使它使用isEqualToString的方法:改爲? – 2013-11-16 22:43:41

+1

@SantaClaus:它已經做到了。當你傳遞'NSString *'時,'isEqual:'和'isEqualToString:'的行爲是相同的。兩者之間唯一的區別在於''isEqualToString:'提供的輕微的性能優勢和靜態類型檢查,這在'indexOfObject:'的上下文中是無關緊要的。 – 2013-11-16 23:16:16

2

indexOfObjectIdenticalTo遠遠超過indexOfObject快,但它採用指針比較==,而不是調用isEqual:

的如果你正在尋找一個指針的比賽,總是用indexOfObjectIdenticalTo獲得最佳性能