- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的接口(interface)文件中定义的方法。我有一个“新建”按钮,当它被点击时,它会向我的 UITableView 实例添加一个新行。
我想知道 NSIndexPath 是否仅用于创建与 UITableViews 一起使用的对象,还是有其他用途?
在我的代码中或一般情况下,insertRowsAtIndexPaths:withRowAnimation];
是否也通过采用新更新的数组并在 View 中重新显示它的数据来工作?添加新行时看起来不会那样,除非它发生得非常快。该方法的一部分还说在“indexPaths”处插入“行”。
我在想,也许因为对象数组和 indexPaths 会有匹配的索引,也许当该数组作为参数传入时,后台的一些代码获取行的位置并使用它来知道将它插入到哪里在表中。也许它知道现有表将比数组少 1 个项目,然后使用可见表中最后一个对象之后的索引插入它?
也许它会检查该 indexPath 中是否已存在一行,如果存在则什么都不做,如果不存在则使用动画添加该行?
是的,我很困惑:-|
希望你们能帮我解决这个问题。
// add a new item to the table
- (void)addNewItem:(id)sender
{
// Create a new BNRItem and add it to the store
BNRItem *newItem = [[BNRItemStore sharedStore] createItem];
// Figure out where that item is in the array
int lastRow = [[[BNRItemStore sharedStore] allItems] indexOfObject:newItem];
// Returns index-path object initialized, ready to be inserted into table
NSIndexPath *ip = [NSIndexPath indexPathForItem:lastRow inSection:0];
// Insert this new row into the table
[[self tableViewinsertRowsAtIndexPaths:[NSArray arrayWithObject:ip] withRowAnimation]:UITableViewRowAnimationTop];
}
感谢您的宝贵时间。亲切的问候
最佳答案
NSIndexPath
是 Foundation 类的一部分,用于描述树中的路径。在每个级别,一个节点都由其索引寻址。
因此,在您的问题上下文中,UITableView
需要 NSIndexPath
,因为它不只是显示项目列表。它有部分——另一种间接级别——因此您需要首先处理部分,然后是部分中的项目。
我希望这能帮助您看得更清楚。
关于ios - NSIndexPath 是否仅用于初始化要在 UITableView 实例中使用的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20859382/
Cannot convert value of type 'NSIndexPath' to expected argument type 'NSIndexPath' 错误在 self.collecti
有人知道 NSIndexpath.row 和 NSIndexpath.item 之间的区别吗? 具体来说,我使用哪一个: -(UITableViewCell *)tableView:(UITableV
有谁知道 NSIndexpath.row 和 NSIndexpath.item 的区别? 具体来说,我用在哪一个: -(UITableViewCell *)tableView:(UITableView
我想使用deleteRowsAtIndexPaths从tableView中删除一行,我用来获取特定行的NSIndexPath的代码如下: let pointInTable: CGPoint =
Apple's multithreading docs不要将 NSIndexPath 列为线程安全与否!作为一个不可变的类,我通常希望它是线程安全的。 以前,我确信文档用于声明 NSIndexPath
我的应用程序研究即将完成。我需要能够学习如何做的最后一件事是以下情况:假设我已经创建了一个 UItableview 钻取应用程序,但是一旦用户到达该钻取的末尾(他们对特定狗产品的选择)实例现在非常具体
所以我一直在四处搜索,似乎大多数人认为以下列方式递增 indexPath 是正确的方法: NSIndexPath *newIndexPath = [NSIndexPath indexPathForRo
我之前从 uitableview 获得了 NSIndexPath,但我不确定为什么这对 collectionview 不起作用?任何帮助将不胜感激! 这是我需要修复的代码: NSIndexPath *
在我的 TableView 中,有 4 个部分,第一部分有 3 行,第二部分有 2 行,第三部分有 2 行,第四部分有 1 行。 按下时如何引用这些行?这是我目前使用的代码。请帮忙 override
必须使用 map、filter、reduce 和其他 friend 以一种更具表现力的方式来做到这一点。 背景: categories 属性是一个 [Category]?,其中每个元素都有一个类型为
我正在寻找一种方法来测试索引路径是否相等,我所说的相等是指每个级别都相等吗?我试过 compare: 但它似乎不起作用,与 NSOrderedSame 比较时我总是得到 true,即使索引肯定不一样。
NSIndexPath 的具体工作是什么,我的理解是,IndexPath 变量用于引用我们要显示的单元格?:o?但它存储了什么值(value)?我是说。,设置 indexPath 变量的内部过程是什么
这将是一件非常愚蠢的事情,但我的 cellForRowAtIndexPath 中有这段代码: if ([self.indexPathSelected compare:indexPath] == NSO
我有一个 NSMutableArray包含 NSIndexPath对象,我想按它们的 row 对它们进行排序, 升序。 最短/最简单的方法是什么? 这是我尝试过的: [self.selectedInd
在我的应用程序中,我有一个 TableView Controller ,它使用 .plist 文件中的部分构建一个表。每个单元格都是唯一的,因为它基于为 plist 文件中的每个项目存储的 ID 参数
如果我有一个值为:{ 0, 0} 的索引路径。将其更改为 { 0, 1} 的正确方法是什么?我知道如果它是一个普通的 c 数组,它就会是: unsigned i_array[] = { 0, 0};
在 commitEditingStyle tableView 方法中,“.row”属性不适用于 NSIndexPath。有什么想法吗? 这是调用 - (void)tableView:(UITableV
我用UITableView做了一个简单的演示:当选择一个单元格时,在单元格中显示一个勾号,最后选定的单元格将被取消勾号,当在模拟器中运行时,选择时很好第一次选择一个单元格,而如果选择另一个单元格,应用
我正在尝试将记录动态添加到已填充的 UITable 中。在我的 UITableView 类中,我有一个自定义 List 对象 List _data=new List(); 我从网络服务调用中添加记录,
我正在使用 Collection View 来显示从服务器接收的数据。返回的 json 预订数组如下所示: [ { "id": 13644766, "check
我是一名优秀的程序员,十分优秀!