当有人点击表格 View 单元格时,我想将他们正在点击的内容的 indexPath.row 保存为一个整数,以便我可以使用该数字在另一种方法中执行操作。我该如何保存它?当我执行以下操作时,我收到警告:
.h
@property NSInteger *songIndex;
.m
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
self.songIndex = indexPath.row;
// Warning: Incompatible integer to pointer conversion assigning to 'NSInteger *' (aka 'long *') from 'NSInteger' (aka 'long')
}
- (void)otherMethod {
PFUser *user = [PFUser currentUser];
[user setObject:[song objectAtIndex:self.songIndex] forKey:@"song"];
// Warning: Incompatible pointer to integer conversion sending 'NSInteger *' (aka 'long *') to parameter of type 'NSUInteger' (aka 'unsigned long')
}
最佳答案
NSInteger 不是一个类,因此您不能将对象创建为指针,因此只需从您的声明中删除 *。
并且您将其定义为属性,因此访问说明符应该是 (nonatomic,assign)
@property (nonatomic,strong) NSNumber *songIndex;
希望这能解决您的问题。
更新:
尝试使用 NSNumber 类
[NSNumber numberWithInteger:indexPath.row];
关于ios - 如何将 indexPath.row 保存为全局整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29997420/