我做了一些iOS的编程的东西,我有一个UIViewController
与NSMutableArray
:的Objective-C:实例变量作为参数,但方法调用实例变量后是空的
@property (nonatomic, retain) NSMutableArray* mutableTestArray;
...
@synthesize mutableTestArray;
在viewDidLoad
我想打电话给一个方法是这样UIViewController
里面执行:
//- (void)aTestMethod:(NSMutableArray *)myMutableTestArray;
[self aTestMethod:self.mutableTestArray];
所以我叫了NSMutableArray
这是UIViewController
的实例变量的方法。在此方法中,我这样做:
myMutableTestArray = [NSMutableArray arrayWithCapacity:100];
//... looping & generating some objects and adding them to the array:
[myMutableTestArray adObject:myObject];
现在,我调试和方法内myMutableTestArray
是罚款。数组中有所有对象。但是留下这个方法的实例变量mutableTestArray
是空的。
那么,问题在哪里?任何人的想法? 注意:我知道我可以用self.mutableTestArray
访问实例变量,然后一切都会好起来,而不是将它用作参数,但我想知道我的代码有什么问题。
谢谢你提前&最好的问候。
我不能这样做,因为在我真实的代码中,我必须传递几个可变和不可变数组,我只做了一个例子,否则概览可能会丢失。 – Tim 2011-04-21 16:29:21
您需要添加更完整的示例。有许多可能的解决方案。就个人而言,无论何时我看到“多个相关的返回值”,它都需要一个简单的类,其实例可以封装所述相关值。 – bbum 2011-04-21 17:16:24