我需要在
中执行方法- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
我有一个NSDictionary
,我希望从中获取ID(长)并将其发送到我的方法:
long sect = (long)section;
[objectp.methodA countRowsInSection:[tableSections objectForKey:[NSString stringWithFormat:@"%ld", sect]]]
我收到警告:
Incompatible pointer to integer conversion sending 'id' to parameter of type 'long'
为什么?
我尝试将NSInteger
转换为long,然后转换为NSString
,但警告仍然存在。
备注: countRowsInSection
为long
。
我将数据存储在NSDictionary
NSString
:
[tableSections setValue:[NSString stringWithFormat:@"%ld", newCategoryID]
forKey:[NSString stringWithFormat:@"%ld", counter]];
答案 0 :(得分:0)
我有一个NSDictionary,我希望从中获取ID(长)并将其发送到我的方法:
不,您不希望从字典中获取类型为long
的ID,因为long
是C类型,无法存储在字典中。可能它是NSString
或NSNumber
的实例。然后,您将其作为-countRowsInSection:
的参数,可能需要NSInteger
或long
,因此为C类型。
答案 1 :(得分:0)
你的countRowsInSection:
似乎期望它的论点是long
。但是你要发送一个对象(可能是NSNumber
)。如果是这种情况,以下内容将起作用:
[objectp.methodA countRowsInSection:[[tableSections objectForKey:[NSString stringWithFormat:@"%ld", sect] longValue]]];