我试图通过选择器传递一个布尔对象.但是,即使我发送NO(Xcode 5 iOS 7),结果总是等于YES.
[self performSelectorOnMainThread:@selector(clearMessageElements:) withObject:@NO waitUntilDone:NO];
-(void)clearMessageElements:(BOOL)resetLastUpdate
Run Code Online (Sandbox Code Playgroud)
如果我在clearMessageElements的第一行放置一个断点,然后查看resetLastUpdate,尽管在上面的调用中传递了NO,但结果始终为YES.
更新:
我赞赏下面发送的回复.但是,我仍然有一个问题,虽然现在有点不同.boolValue确实会正确解释,但不会在通知中调用该方法.所以扩大:
[[NSNotificationCenter defaultCenter]addObserver:self
selector:@selector(clearMessageElements:)
name:@"appResigning"
object:@YES];
-(void)clearMessageElements:(NSNumber *)resetLastUpdate
{
NSLog(@"%hhd",[resetLastUpdate boolValue]);
}
Run Code Online (Sandbox Code Playgroud)
clearMessageElements现在可以使用我在这个问题顶部写的原始调用,但在NSSNotification中使用时,使用这种方法根本不调用该方法.但是,如果我删除@YES并用NIL替换它将执行该函数.所以我知道正在发送通知,但是在这里使用@YES的一些事情是阻止它执行该方法.