我正在制作一个程序,其中一个类(classA)生成一个随机数并将其添加到一个可变数组中。视图控制器 (viewControllerA) 从 classA 调用方法并接收随机数数组并将其存储在自己的数组中。
我有另一个需要相同数组的类(classB)。在 viewcontrollerA 完成它需要对数组执行的操作后,它会调用 classB 中数组的 setter 方法。我在 classB 中的数组的 setter 和 getter 方法中调用 NSLog 来检查它是否加载。
-(void)setRandomNumberArray:(NSArray *)randomNumberArray{
_randomNumberArray = randomNumberArray;
NSLog(@"%@ setter", _randomNumberArray);
}
-
-(NSArray *)randomNumberArray{
if (!_randomNumberArray) {
_randomNumberArray = [[NSArray alloc] init];
}
NSLog(@"%@ getter", _randomNumberArray);
return _randomNumberArray;
}
当我在 viewControlerA 中调用 setter 方法时,NSLog 返回数组的值。当我在 viewControllerB 中调用 getter 方法时,NSLog 不会从 getter 方法中打印任何内容。
2012-05-29 23:57:43.589 SwipeGame[8603:f803] (
) getter
它显然是在设置数组,但在我想得到它时没有保留它。到底是怎么回事?我尝试了多种其他技术,它总是设置数组,但在我想“获取”数组时不保留它。
我的数组的属性设置为保留 btw ..
更新:是的,我正在使用 ARC。我的财产声明是:
@property (nonatomic, strong) NSArray *randomNumberArray
已解决:感谢您的所有帮助!这是实例的问题。