objective-c - 如何深度复制 NSIndexPath?

标签 objective-c nsindexpath

我想保存 NSI​​ndexPath 对象的副本以供以后使用。然后,我想覆盖原来的对象。由于 copy 仅增加对象的保留计数,因此如何对原始索引路径进行深层复制?

...
NSIndexPath *originalIndexPath = [tappedIndexPath copy]; // need to make a deep copy here
tappedIndexPath = ...;
...
// need the original index path here

最佳答案

由于 NSIndexPath 无论如何都是不可变的,因此副本是深还是浅并不重要。事实上,深拷贝会浪费内存。

关于您的示例:对于您想要执行的操作,您根本不需要复制索引路径。当您将另一个索引路径对象分配给tappedIndexPath(在第二行中)时,根本不会影响originalIndexPath。在代码片段的末尾,originalIndexPath 仍将指向与之前完全相同的对象。

关于objective-c - 如何深度复制 NSIndexPath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10665968/

相关文章:

ios - didDeselectRowAtIndexPath 未被调用

ios - didSelectRowAtIndexPath 中的 NSIndexPath 和 objectAtIndex 崩溃?

objective-c - 使用格式说明符声明一个 NSString 并将其用作在 UIWebview 中打开的 URL

ios - watchkit , iOS 在 watch 和 iphone 之间发送数据

ios - "\P{Letter}"和 NSRegularExpression

Swift CollectionViewCells 问题

ios - uicollectionview 滚动更改单元格索引路径

ios - objective-c : Use a array to point to another array

ios - initWithFrame 未在 UIVIew 中执行

objective-c - MKCoordinateRegion 中心和边界之间的距离