带有详细子视图的警告消息?
Posted
技术标签:
【中文标题】带有详细子视图的警告消息?【英文标题】:Warning message with detailed subviews? 【发布时间】:2010-02-21 23:18:20 【问题描述】:我的代码看起来正确吗?我正在尝试将数据加载到我的表格视图和详细的子视图中。我的表格工作正常,但数据不会加载到我的子视图中
警告出现在这一行下
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:]: index (64244544) beyond bounds (50)”
有什么想法吗?
【问题讨论】:
在你的 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 你犯了一个错误。使用 nextController.dataItem = [data objectAtIndex:indexPath.row]; 【参考方案1】:Yannick 所说的——“从没有强制转换的指针中生成整数”意味着您正在使用 NSIndexPath 对象的地址(这可能比表上的行数多得多,想象一下指针指向0x03030000 什么的)作为行号而不是对象的行字段。
【讨论】:
就是这样,伙计们。发现。它加载没有任何错误,当我点击时不会崩溃。虽然我的数据仍然没有加载,但我一定还是错过了一些东西。生病必须有一个挖掘。再次感谢。以上是关于带有详细子视图的警告消息?的主要内容,如果未能解决你的问题,请参考以下文章
带有子 detailViewController 的 tableviewcontroller 因神秘的 EXC_BAD_ACCESS 而崩溃
UITableView - 分段的 Tableview 深入到子子视图然后进入详细视图