我的代码看起来是否合适?我正在尝试将数据加载到我的表视图和详细的子视图中。我的表工作正常,但数据不会在我的子视图中加载
警告显示在此行
下nextController.dataItem = [data objectAtIndex:indexPath];
这是我的RootViewController.m
// Configure the data for the cell.
NSDictionary *dataItem = [data objectAtIndex:indexPath.row];
cell.icon = [UIImage imageNamed:[dataItem objectForKey:@"Icon"]];
cell.publisher = [dataItem objectForKey:@"Publisher"];
cell.name = [dataItem objectForKey:@"Name"];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NextViewController *nextController = [[NextViewController alloc] initWithNibName:@"NextView" bundle:nil];
nextController.dataItem = [data objectAtIndex:indexPath];
[self.navigationController pushViewController:nextController animated:YES];
[nextController release];
}
和我的nextviewcontroller.h
#import <UIKit/UIKit.h>
@interface NextViewController : UIViewController
{
UILabel *nameLabel;
UIImageView *iconView;
NSDictionary *dataItem;
}
@property (nonatomic, retain) IBOutlet UILabel *nameLabel;
@property (nonatomic, retain) IBOutlet UIImageView *iconView;
@property (nonatomic, retain) NSDictionary *dataItem;
@end
它加载但我得到以下警告:
“警告:传递'objectAtIndex:'的参数1'从没有强制转换的指针生成整数
调试器说
由于未捕获的异常'NSRangeException'而终止应用程序,原因:'*** - [NSCFArray objectAtIndex:]:索引(64244544)超出边界(50)'
任何想法?
答案 0 :(得分:0)
Yannick所说的 - “在没有强制转换的情况下从指针生成整数”意味着你正在使用NSIndexPath对象的地址(这可能比你表上的行数更多,想象指针指向0x03030000或其他)作为行号而不是对象的行字段。