我的uitableview自定义控制器中的items数组永远不会从tmp数组中填充! debug命中init方法但self.items数组没有任何改变?
root控制器中的:
MultiSelectionTableViewController *multiSelectionViewController = [[MultiSelectionTableViewController alloc] initWithNibName:@"MultiSelectionTableViewController" bundle:nil];
[self.navigationController pushViewController:multiSelectionViewController animated:YES];
[multiSelectionViewController release];
@property(nonatomic,retain) NSMutableArray *items;
@synthesize items;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
NSArray *tmp;
tmp = [NSArray arrayWithObjects: @"Yes", @"No", @"Why not?", @"Depends..", nil];
[self.items addObjectsFromArray:tmp];
}
return self;
}
答案 0 :(得分:2)
您必须在自定义VC中分配/初始化您的数组。
做:
self.items = [NSArray arrayWithObjects: @"Yes", @"No", @"Why not?", @"Depends..", nil];
代替。
或者,
NSArray *tmp;
tmp = [NSArray arrayWithObjects: @"Yes", @"No", @"Why not?", @"Depends..", nil];
self.items = tmp;
答案 1 :(得分:1)
self.items
为nil
,因为它未分配和初始化,因此未填写或添加。你应该做
self.items = tmp;
或直接
self.items = [NSArray arrayWithObjects: @"Yes", @"No", @"Why not?", @"Depends..", nil];