這兩個NSArray方法有什麼區別?indexOfObject與indexOfObjectIdenticalTo
回答
indexOfObjectIdenticalTo
檢查完全相同的id
(同一地址)。 indexOfObject
檢查isEqual:
是否返回YES
。
第一次使用isEqual:
查找匹配對象,而第二次查找同一對象(即對象位於同一內存位置)。
很好的解釋。 – Sagar 2011-11-25 05:50:45
任何使它使用isEqualToString的方法:改爲? – 2013-11-16 22:43:41
@SantaClaus:它已經做到了。當你傳遞'NSString *'時,'isEqual:'和'isEqualToString:'的行爲是相同的。兩者之間唯一的區別在於''isEqualToString:'提供的輕微的性能優勢和靜態類型檢查,這在'indexOfObject:'的上下文中是無關緊要的。 – 2013-11-16 23:16:16
indexOfObjectIdenticalTo
遠遠超過indexOfObject
快,但它採用指針比較==
,而不是調用isEqual:
的如果你正在尋找一個指針的比賽,總是用indexOfObjectIdenticalTo
獲得最佳性能
- 1. IndexOfObject返回2147483647
- 2. indexofobject返回零
- 3. indexOfObjectIdenticalTo: - 得到垃圾值
- 4. 從NSArray查找indexOfObject
- 5. NSArray indexOfObject返回零
- 6. iOS indexOfObjectIdenticalTo:對字符串不起作用
- 7. indexOfObject在NSMutableArray中返回垃圾值
- 8. 如何從標籤欄獲取indexOfObject?
- 9. indexOfObject首次返回0而不是NSNotFound
- 10. 獲取tableview的insertRowsAtIndexPaths來接受indexOfObject?
- 11. 帶有重複對象的indexOfObject
- 12. NSMutableArray indexOfObject返回一個非常大的數字
- 13. iOS版 - NSArray的indexOfObject不叫的isEqual定製
- 14. 通過比較字符串在Xcode中從NSArray中選擇indexOfObject
- 15. NSArray indexOfObject未找到以數字開頭的字符串
- 16. 經過Swift 3轉換後,我無法擺脫錯誤:「模糊使用'indexOfObject(passingTest :)'」
- 17. 如何使用類似indexOfObject的東西來獲取NSArray的索引?
- 18. 在覈心數據映射模型的值表達式中使用「indexOfObject:」
- 19. 語義問題:不兼容的指針整數轉換髮送「NSUInteger *」(又名「無符號整數*」),以類型的參數「NSUInteger」
- 20. Symfony2與KnpGaufrette與S3與LiipImagine
- 21. 如何創建NSMutableArray的查詢和打印出來的結果嗎?
- 22. 與A2X與ZIP
- 23. IOS如何在執行檢查時正確循環
- 24. VHDL與選與「和」
- 25. OpenGL:isampler2DArray與sampler2DArray與sampler3DArray
- 26. QBoxLayout與QMainWindow與QWidget
- 27. PdfpTable與表(與SimpleTable?)
- 28. InsertionSort與InsertionSort與BinaryInsertionSort
- 29. ScalatraServlet與AkkaSupport與GZipSupport
- 30. JFileChooser與JDialog與FileDialog
還要注意的是' indexOfObjectIdenticalTo:比'indexOfObject:'快很多個數量級。雖然都不是特別快。如果你想要高性能,你應該考慮使用'NSSet' – 2014-10-02 05:20:08