나는 이것을 tutorial에서 가져온 목표 - C 코드의 조각이 내 선언 파일에서접근자를 사용하는시기와 속성에 직접 액세스하는시기는?
- (NSFetchedResultsController *)fetchedResultsController {
if (fetchedResultsController_ != nil) {
return fetchedResultsController_;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"FailedBankInfo"
inManagedObjectContext:self.context];
[fetchRequest setEntity:entity];
NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"details.closeDate" ascending:NO];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
[fetchRequest setFetchBatchSize:20];
NSFetchedResultsController *theFetchedResultsController = [[NSFetchedResultsController alloc]
initWithFetchRequest:fetchRequest
managedObjectContext:self.context
sectionNameKeyPath:nil
cacheName:@"Root"];
self.fetchedResultsController = theFetchedResultsController;
fetchedResultsController_.delegate = self;
[sort release];
[fetchRequest release];
[theFetchedResultsController release];
return fetchedResultsController_;
}
을 나는이 있습니다
@interface FailedBankListViewController : UITableViewController
<NSFetchedResultsControllerDelegate> {
NSFetchedResultsController *fetchedResultsController_;
NSManagedObjectContext *context_;
}
@property (nonatomic, retain) NSFetchedResultsController *fetchedResultsController;
@property (nonatomic, retain) NSManagedObjectContext *context;
@end
내 질문입니다 나는 코드를 작성해야 할 이유 그렇게 한 번 우리가 접근 사용하면 우리가 직접 속성에 액세스 :
if (fetchedResultsController_ != nil) {
return fetchedResultsController_;
}
// AND
self.fetchedResultsController = theFetchedResultsController;
을이 작동하지 않습니다 :
if (self.fetchedResultsController != nil) {
return self.fetchedResultsController;
}
// AND
fetchedResultsController_ = theFetchedResultsController;
언제 접근자를 사용해야합니까? 접근자를 사용해야하는시기는 언제입니까?
미리 도움 주셔서 감사합니다.