在commitEditingStyle tableView方法中,“.row”属性不适用于NSIndexPath。有什么想法吗?
这是电话
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete)
{
NSLog(@" Delete button pushed. IndexPath:%@",indexPath);
}}
当在表的第三行中按下删除按钮时,日志消息为:
'按下删除按钮。 IndexPath:2个索引[0,2]'
如果我将日志消息更改为:
NSLog(@" Delete button pushed. IndexPath.row:%@",indexPath.row);
我收到编译错误。是什么赋予了?我以为NSIndexPath有一个'row'属性。显然,当我检查indexPath时,它就在那里。
库尔特
答案 0 :(得分:2)
问题在于您的格式说明符。 row
属性是整数类型,因此您需要使用%d
而不是%@
。
.row
属性是UIKit
中定义的扩展程序类别的一部分。
**row**
An index number identifying a row in a section of a table view. (read-only)
@property(readonly) NSUInteger row
**Discussion**
The section the row is in is identified by the value of section.