我有一个如下所示的实例变量:
@property (strong, nonatomic) Post *post;
我在这样的自定义init方法中设置它:
- (id)initWithPageType:(int)pageType andPost:(Post *)post
{
self = [super initWithNibName:@"StreamViewController" bundle:nil];
if (self) {
// Custom initialization
self.post = post;
self.pageType = pageType;
}
return self;
}
在这种情况下永远不会为NULL。我还有一个NSFetchedResultsController
,其中包含以下委托方法:
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject
atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type
newIndexPath:(NSIndexPath *)newIndexPath
{
[...]
// Here self.post == nil for some reason...
[...]
任何人都知道为什么会发生这种情况?
答案 0 :(得分:2)
编写自己的setter,然后在setter中的语句上添加断点。现在您将知道设置它的代码。