gpt4 book ai didi

iphone - 为什么 NSIndexPath 不起作用?

转载 作者:行者123 更新时间:2023-11-29 04:13:06 26 4
gpt4 key购买 nike

我用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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com