- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用UITableView
做了一个简单的演示:当选择一个单元格时,在单元格中显示一个勾号,最后选定的单元格将被取消勾号,当在模拟器中运行时,选择时很好第一次选择一个单元格,而如果选择另一个单元格,应用程序将被压垮,没有任何日志信息,我不知道发生了什么。这是我在编码中所做的:
标题:
#import <UIKit/UIKit.h>
@interface ViewController2 : UIViewController<UITableViewDataSource,UITableViewDelegate>
{
NSIndexPath * oldIndexPath;
NSArray *list;
}
@property(retain,nonatomic)NSIndexPath *oldIndexPath;
@property(strong,nonatomic)NSArray *list;
@end
实现:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath];
if(oldIndexPath == nil){
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}else{
UITableViewCell * oldCell = [tableView cellForRowAtIndexPath:oldIndexPath];
oldCell.accessoryType = UITableViewCellAccessoryNone;
}
oldIndexPath = indexPath;
}
感谢任何帮助,谢谢
最佳答案
始终通过self.
访问您的属性,不要直接访问ivar。通过直接分配,您将绕过访问器方法中使用的任何内存管理,并且当您稍后使用该值时,它已被释放。
在当前版本的 Xcode 中,您不需要声明 ivars 来支持属性或使用合成。这可以防止您意外地直接访问 ivars。
关于iphone - 为什么 NSIndexPath 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14099949/
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
我是一名优秀的程序员,十分优秀!