看来我在 segue 期间创建的视图控制器无法修改或创建任何类型为 NSArray 的成员变量。我可以在我喜欢的任何函数中创建局部变量,但是分配一个成员变量不起作用,也不能在 init 中分配数组。
到底他妈发生了什么?
如果不使用 iOS5.1 和 Xcode 4.3 我敢肯定,这会起作用。
- (id)initWithViewControllers:(NSArray *)newViewControllers
{
if (self = [super init]) {
_viewControllers = [newViewControllers retain];
}
return self;
}
成员变量都设置正确。它根本没有为 _viewControllers 分配任何东西。它始终为零。
我不能包含整个代码,但本质上是这样的:
根导航控制器用于加载表格视图控制器以从两行中选择。然后每一行推动另一个视图控制器加载我们做一些工作的地方。当我点击该行并分配另一个视图控制器时发生故障。在分配期间,类型为 NSMutableArray 或 NSArray 的成员变量不会被创建,它们总是返回 0x0。我也无法通过创建自己的 initWithArray:(NSArray *) 来设置变量。
如果它遗漏了什么问题是有效的并且可以修改,请不要投反对票。只需发表评论,我会回答。我从来没有见过 Obj-C 这样的行为是我发布这个的原因。