Objective c 在目标C中为UILocalNotification分配内存时出现问题

Objective c 在目标C中为UILocalNotification分配内存时出现问题,objective-c,Objective C,如果我执行以下操作,它将按预期分配内存: UILocalNotification *localNotification = [[UILocalNotification alloc] init]; if (!localNotification) NSLog(@"Huh?"); else NSLog(@"Okay"); 但是,我有一个UILocalNotification作为另一个名为Task的类的字段,当我尝试对该字段执行相同操作时,它不起作用: currentTask.loca

如果我执行以下操作,它将按预期分配内存:

UILocalNotification *localNotification = [[UILocalNotification alloc] init];
if (!localNotification)
    NSLog(@"Huh?");
else
    NSLog(@"Okay");
但是,我有一个UILocalNotification作为另一个名为Task的类的字段,当我尝试对该字段执行相同操作时,它不起作用:

currentTask.localNotification = [[UILocalNotification alloc] init];
if (!currentTask.localNotification)
    NSLog(@"Huh?");
else
    NSLog(@"Okay");
这也不起作用,这似乎暴露了我对客观C参考的不完全理解:

UILocalNotification *localNotification = [currentTask localNotification];
localNotification = [[UILocalNotification alloc] init];
if (!currentTask.localNotification)
    NSLog(@"Huh?");
else
    NSLog(@"Okay");

有人知道这里发生了什么吗?

currentTask为零。每当Objective-C中发生任何奇怪的事情时,通常是因为指针为零。