我有一个特定的场景,当订单列表(NSMutableArray
)为空时,因此所选索引(NSIndexPath
)也应为空(我正在使用nil
)。我使用NSNotificationCenter
传递这些数据,以在应用程序的其他位置触发表中的更新。
但是,我收到一个错误:
*由于未捕获的异常'NSInvalidArgumentException'而终止应用,原因:'* - [__ NSPlaceholderDictionary initWithObjects:forKeys:count:]:尝试从中插入nil对象 对象[1]'
如何通过NSNotificationCenter
传递空索引?
NSMutableArray *filteredAndSortedOrders = [[NSMutableArray alloc] init];
NSIndexPath *selectedIndex = nil;//[NSIndexPath indexPathForRow:0 inSection:0]]//The problem with this is that it's non-empty
[[NSNotificationCenter defaultCenter] postNotificationName:NOTIFICATION_RELOAD_TABLE_AND_DATA
object:self
userInfo:@{
@"filteredAndSortedOrders":[filteredandSortedOrders copy],
@"selectedIndex":selectedIndex
}
];
答案 0 :(得分:2)
您可以使用负值传递NSIndexPath
,并在接收方检查该值是否为负值。
<强>代码:强>
NSIndexPath *selectedIndex = [NSIndexPath indexPathForRow:-1 inSection:-1];