這兩個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. iOS indexOfObjectIdenticalTo:對字符串不起作用
- 2. indexOfObject首次返回0而不是NSNotFound
- 3. 獲取tableview的insertRowsAtIndexPaths來接受indexOfObject?
- 4. NSArray indexOfObject未找到以數字開頭的字符串
- 5. iOS版 - NSArray的indexOfObject不叫的isEqual定製
- 6. 在覈心數據映射模型的值表達式中使用「indexOfObject:」
- 7. 經過Swift 3轉換後,我無法擺脫錯誤:「模糊使用'indexOfObject(passingTest :)'」
- 8. 語義問題:不兼容的指針整數轉換髮送「NSUInteger *」(又名「無符號整數*」),以類型的參數「NSUInteger」
- 9. 如何創建NSMutableArray的查詢和打印出來的結果嗎?
- 10. OpenGL:isampler2DArray與sampler2DArray與sampler3DArray
- 11. PdfpTable與表(與SimpleTable?)
- 12. InsertionSort與InsertionSort與BinaryInsertionSort
- 13. MySQL與PostgreSQL與SSRS
- 14. SortedList與SortedDictionary與Sort()
- 15. JFileChooser與JDialog與FileDialog
- 16. H264與RTP與Facetime
- 17. 與結構與golang
- 18. DataServiceKey與DataKeyProperty與DataServiceEntity
- 19. 休眠與Tomcat與休眠與JBoss
- 20. MD與乳膠到HTML與MathJax與Pandoc
- 21. 與fgets與標準::與fgets - 線由與fgets
- 22. ARKit與ARCore與Vuforia與D'Fusion Mobile與Layar SDK的對比
- 23. 宣言與原型與符號與定義與實現
- 24. 檢查objectAtIndex是否爲零而沒有收到錯誤?
- 25. Objective-C的JSON解析錯誤
- 26. 與
- 27. 與
- 28. 與
- 29. 與
- 30. 與
還要注意的是' indexOfObjectIdenticalTo:比'indexOfObject:'快很多個數量級。雖然都不是特別快。如果你想要高性能,你應該考慮使用'NSSet' – 2014-10-02 05:20:08