性能方面是否有任何優勢取決於您用作標籤的數字?選擇標籤的性能優勢?
我有4套我用標籤標記的對象。有沒有理由不跳過數字?也就是說,我可以有第一盤從0到99,第二盤是從1000 - 1099,第三盤是從2000 - 2099,第四盤是從10萬到100,099?
請注意,我實際上並沒有在我的代碼中使用這麼多的對象。所以我沒有詢問有這麼多對象的性能問題。我只想知道它是否會跳過標籤。它幫助我組織我的代碼和我的想法。任何人都知道標籤是如何存儲的?
性能方面是否有任何優勢取決於您用作標籤的數字?選擇標籤的性能優勢?
我有4套我用標籤標記的對象。有沒有理由不跳過數字?也就是說,我可以有第一盤從0到99,第二盤是從1000 - 1099,第三盤是從2000 - 2099,第四盤是從10萬到100,099?
請注意,我實際上並沒有在我的代碼中使用這麼多的對象。所以我沒有詢問有這麼多對象的性能問題。我只想知道它是否會跳過標籤。它幫助我組織我的代碼和我的想法。任何人都知道標籤是如何存儲的?
標記以整數存儲。 iOS上的整數以4字節存儲。無論您使用的是哪個值,將它們與另一個整數值進行比較都需要完全相同的時間。
也就是說,可能存在用於存儲視圖層次的內部優化。舉個例子,Apple可能會選擇使用某種樹結構來將標籤映射到視圖。這部分我無法回答,因爲這些東西是蘋果開發者的內在東西。
你有兩個選擇;
該標記只存儲爲一個NSInteger屬性。據我所知,-viewWithTag:
搜索視圖層次結構,檢查每個視圖的匹配標記,並返回第一個匹配。跳過數字應該沒有性能損失。