我有一个NSMutableArray排序对象,它们显示在UITableView中.
我想在数组中插入一个新对象并更新表视图 – 这需要新插入对象的索引.
我找不到任何系统消息告诉我正确的插入索引到我需要更新表视图的数组.
我能找到的最好的是:
>添加新对象
>排序
>使用旧的数组副本,找到新对象的位置(需要搜索)
要么
>写我自己的插入位置搜索
当然,必须有一条消息来找到排序数组中的插入位置?或者我错过了一些明显的东西?
解决方法
您可以在整个数组上使用indexOfObject:inSortedRange:options:usingComparator:方法.此方法对您传递的范围执行二进制搜索,并在使用NSBinarySearchingInsertionIndex选项时为您提供插入点:
NSUInteger insPoint = [myArray indexOfObject:toInsert inSortedRange:NSMakeRange(0,[myArray count]) options:NSBinarySearchingInsertionIndex usingComparator:^(id lhs,id rhs) { return // return the result of comparing two objects } ];
原文地址:https://www.jb51.cc/iOS/335173.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。