こんにちは、プログラミング初心者です。
NSDictionary セルと Table セルに問題があります。良いチュートリアルを見つけようとしましたが、役立つものは見つかりませんでした。JSONKit を使用して json を解析しています。古いバージョンの xcode があり、シミュレーター 4.3 しかありません。
私がやりたいことは、Json を解析してセルを含むテーブルにすることです。
解析したいjson:
{[{"n_id":"1","name":"Green","age":"23"}]}
私の主な問題。エラーは発生しませんが、アプリを実行すると自動的に閉じます。//cell.textLabel.text = [studName objectAtIndex:indexPath.row]; をコメントアウトすると、cell.textLabel.text = @"Test"; だけに置き換えます。アプリと出力は正常に動作します。NSLog(); も取得できます。値
私のエラーは cell.textLabel.text = [studName objectAtIndex:indexPath.row]; にあると思います。前もって感謝します
//Json2ViewController.m
- (void)viewDidLoad {
[super viewDidLoad];
NSData * JSONdata =[[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://myurl.php"]];
if([JSONdata length] == 0){
[JSONdata release];
return;
}
NSArray *students =[JSONdata objectFromJSONData];
studName = [[NSMutableArray alloc] init];
for(NSDictionary *student in students)
{
NSLog(@"Name: %@", [student objectForKey:@"name"]);
NSLog(@"Age: %@", [student objectForKey:@"age"]);
content = [student objectForKey:@"name"];
if(content)
[studName addObject:content];
}
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell...
cell.textLabel.text = [studName objectAtIndex:indexPath.row];
return cell;
}
NSMutableArray についてはよくわかりません。
//Json2ViewController.h
@interface Json2ViewController : UIViewController {
NSArray * list;
NSString * content;
NSMutableArray *studName;
}