我有一個關於通過不同類獲取值的基本問題。 我有一個classA填充數組(如果我打印出來它不是空的)。 LATER在B類我想要加載這個數組:我從類A中調用返回類A的數組的函數。但是在類B中,如果我調用我的新數組,那麼它就是null。 我有點困惑,因爲我認爲我保留數組的每個值,但它仍然爲空。我也嘗試了很多不同的可能性。我認爲它產生了一個基本的OOP語法錯誤?!兩個類之間的消息傳遞
//CLASS_A.h
@interface classA {
NSMutableArray* buoyArray;
}
@property (nonatomic, retain) NSMutableArray * buoyArray;
-(NSMutableArray*)getArray:(NSMutableArray*)_array;
//CLASS_A.m
...
-(NSMutableArray*)getArray:(NSMutableArray*)_array {
_array=buoyArray;
return _array;
}
//CLASS_B.h
#import "CLASS_A.h"
@class classA;
@interface classB ...
classA *mapSource;
NSMutableArray * buoyArray;
}
@property(nonatomic,retain) classA *mapSource;
//CLASS_B.m
buoyArray=[mapSource getArray:buoyArray];
NSLog(@"%@",buoyArray);
你想每個類指向同一個數組,還是應該各有其自己的副本? – GarlicFries
基本上是數組的一個副本。我以爲它是另一個同名類的數組的副本。 –