(因爲ARC的可能),我稱之爲下面的方法時,我的UITableView重載:故障與重新加載數據到的NSArray
-(NSArray *)theAccounts {
if (__theAccounts != nil) {
return __theAccounts;
}
// Create an account store object.
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
// Create an account type that ensures Twitter accounts are retrieved.
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
// Request access from the user to use their Twitter accounts.
[accountStore requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) {
if(granted) {
// Get the list of Twitter accounts.
NSArray *accountsArray = [[NSArray alloc] initWithArray:[accountStore accountsWithAccountType:accountType]];
self.theAccounts = accountsArray;
}
}];
return __theAccounts;
}
setter方法中.H:
@property (strong, nonatomic) NSArray *theAccounts;
,並在。米:
@synthesize theAccounts = __theAccounts;
我想能夠有效地清空self.theAccounts和重新加載。所以,我創建了一個重新同步的方法,但我重裝表後,永遠不會返回任何值:
-(void)resyncAccounts {
self.theAccounts = nil;
[self.tableView reloadData];
}
我在iOS 5 SDK使用ARC。這可能是一個問題嗎?我之前用fetchedResultsController做過類似的事情,沒有問題,但那不是ARC。值得注意的是,它在第一次調用時會返回數據,然後返回__TheAccounts,直到我嘗試 - (void)resyncAccounts {}。
在吸氣
你對「theAccounts」的setter方法是什麼樣的? –
在 – mootymoots