我想從API加載數據並顯示它在UITableView
內。我使用AFNetworking
進行網絡通話,但現在我面臨一個問題:我無法在成功塊內訪問myTableView
和self
。ios:更新內部AFNetworking成功回調內的UITableView
@property (weak, nonatomic) IBOutlet UITableView *myTableView;
@property (nonatomic,retain) NSMutableArray *myDataSource;
@synthesize featuredProductsTableView;
- (void)viewDidLoad
{
[super viewDidLoad];
NetworkManager *networkManager = [NetworkManager getInstance];
myDataSource = [NSMutableArray array];
[networkManager getPath:@"example.com" parameters:nil success:^(AFHTTPRequestOperation *operation, id JSON) {
[myDataSource addObjectsFromArray:JSON];
[myTableView reloadData];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@",error);
}];
}
調試代碼示出了塊內我不能訪問任何的self
,myDataSource
,或myTableView
。
我該如何解決這個問題?
謝謝。
要訪問myDataSource你應該__block myDataSource = [NSMutableArray的陣列]使用; ,self和myTableView必須可訪問 – 2013-04-25 14:24:24
變量在一個塊內部訪問而不用__block聲明前綴是一個實變量的副本 – 2013-04-25 14:26:04
我將它改爲@property(nonatomic,retain)__block NSMutableArray * myDataSource;仍然無法訪問它們中的任何一個 – trrrrrrm 2013-04-25 14:35:34