我做了一些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