DB(mySQL)から情報をロードするためにWebサービスAPIを使用しています。UITableViewController に移行するとき、VieDidLoad メソッドでカテゴリを含む配列を取得します。ただし、テーブル ビューのセルに入ったカテゴリの配列を表示できません。一方、カテゴリ NSMutubaleArray を初期化してハードコーディングすると、テーブルビューに情報が表示されます。この配列をロードしてテーブルビューに入力する手順で何が間違っているのかを理解しようとしています。これが私のコードです:
- (void)viewDidLoad
{
[super viewDidLoad];
//When I init the _categoryList the way below, it displays the info.
//_categoryList = [[NSMutableArray alloc] initWithObjects:@"Trending",@"Sports",@"Portraits", @"Art",@"IdUser", nil];
_toCategory = [[NSString alloc]init];
//When I try to populate it from the server it doesnt work.
_categoryList = [[NSMutableArray alloc]init];
//just call the "getCategories" command from the web API
[[API sharedInstance] commandWithParams:[NSMutableDictionary dictionaryWithObjectsAndKeys:
@"getCategories",@"command",
nil]
onCompletion:^(NSDictionary *json) {
//got stream
NSArray *tempArray = [json objectForKey:@"result"];
for (int i=0;i<tempArray.count;i++){
[_categoryList insertObject:[tempArray objectAtIndex:i] atIndex:i];
}
//I verify that I was able to retrieve the array with the correct conent.
[self printArray:_categoryList];
NSLog(@"got categories");
[self.tableView reloadData];
}];
}
どんな助けでも大歓迎です。ありがとう!
更新#1:
JSON の戻り値は、NSDictioanry の配列です。JsonArray objectForKey['categories'] を呼び出して内容を確認し、これを取得します。
SwiphtMVPClone[2410:11303] Array at Index 0 = Trending
SwiphtMVPClone[2410:11303] Array at Index 1 = Sports
SwiphtMVPClone[2410:11303] Array at Index 2 = Portraits
SwiphtMVPClone[2410:11303] Array at Index 3 = Art
現在、私のアプリは実際にクラッシュしています – 次のエラーが発生しています:
[__NSCFDictionary isEqualToString:]: unrecognized selector sent to instance 0x72a85d0