我使用創造了一個NSIndexPath一個NSIndexPath:如何設置後,已創建
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
現在我想指數直通一個UITableView通過修改這條道路,我無法找到設置值的任何API調用在NSIndexPath
似乎是一個巨大的浪費,以每次分配一個新的NSIndexPath,特別是具有作爲實際上,我用它來撥打電話,不分配任何內存(一種除協議)
我使用創造了一個NSIndexPath一個NSIndexPath:如何設置後,已創建
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
現在我想指數直通一個UITableView通過修改這條道路,我無法找到設置值的任何API調用在NSIndexPath
似乎是一個巨大的浪費,以每次分配一個新的NSIndexPath,特別是具有作爲實際上,我用它來撥打電話,不分配任何內存(一種除協議)
我找不到任何在NSIndexPath中設置值的API調用。
因爲沒有--NSIndexPath是不可變的。
看起來像一個巨大的浪費,每次
它分配一個新的NSIndexPath。對不起。如果你關心這個,把它包裝成一個@autoreleasepool { }
。
NSIndexPath
是不可變的。每次創建一個新的。然後,如果您遇到性能問題,請使用工具來確定是否創建索引路徑是問題的一部分。
您已經驗證只有在此之後創建索引路徑是你應該考慮創建的NSIndexPath
一個子類,都有自己的存儲的索引並提供改變方法的一個問題。 (UIKit在內部執行類似於UIMutableIndexPath
的內部操作,但該類不公開)。
我可以想象它們會爲常見路徑使用一些對象池,並且您不會每次都獲得新對象。與數字相同 –
@ Daij-Djan是的,這是一種常用的優化方法(NSString也是這樣做的),所以它最有可能用於實際上。 – 2012-11-15 05:47:36