我是 iOS 开发和 Objective-C 编程的新手,所以请原谅我的“noobiness”。
事情是这样的,我有一个函数可以构建一个从 JSON 对象获取数据的数组。然后我有第二个函数,负责用数组中包含的数据填充 tableView。
问题是,这个数组的内容似乎无法从我的 tableView 函数中访问,即使该数组已添加到我的头文件并在主文件中实现。tableView 仍然是空的...
你知道这是为什么吗?
这是功能,非常感谢您的帮助!
1)数组构建功能:
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[self.responseData appendData:data];
//Get data
NSError *myError = nil;
NSDictionary *res = [NSJSONSerialization JSONObjectWithData:self.responseData options:NSJSONReadingMutableLeaves error:&myError];
//Extract titles
NSMutableArray *myResults = [[NSMutableArray alloc] init];
NSArray *results = [res objectForKey:@"data"];
for (NSDictionary *result in results) {
NSString *title = [result objectForKey:@"colors"];
NSLog(@"colors: %@", colors);
[myResults addObject:colors];
}
self.colorNames = myResults;
}
2)TableView填充功能:
// Customize the appearance of table view cells.
- (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];
}
//Set cell text
NSString *colorString = [self.colorNames objectAtIndex: [indexPath row]];
NSLog(@"%@",colorString);
cell.textLabel.text = colorString;
return cell;
}