我敢肯定,這是一個完整的noob問題...但我其實從來沒有過,所以我有點糊塗應對這種情況...訪問一個NSMutableArray我的自定義對象的內部
比方說,我有一個自定義對象,我會稱之爲人,每個人物都可以擁有一系列「財產」,如果您願意的話,可以是一種庫存。我將它設置這樣的:
interface person : NSObject {
NSString *name;
NSMutableArray *posessions;
@property (copy) NSString *name;
@property (copy) NSMutableArray *posessions; // no idea if this is even necessary...
}
當然,我也將我的綜合性能在實現文件...現在,在我的實際控制對象,我會做我的對象的實例(或通常實例的數組,但在這個例子中,一個做工精細...)像這樣:
person *aPerson;
我知道,訪問的人的名字,我能做出這樣的呼籲:
[aPerson setName:@"Bob"];
並檢索已經這個名字,我可能會使用這樣的:
aVar = [aPerson name];
什麼我卡上是我會究竟如何去增加或檢索位於我個人類中對象的NSMutableArray中?假設我想爲NSMutable Array使用「count」方法。
我已經做了一些嘗試和錯誤與嘗試,如:
[aPerson.posessions count];
[[aPerson posessions] count];
同樣,一個對象添加到一個數組,我經常使用:
[someArray addObject:anObject];
但嘗試這樣的沒有工作:
[aPerson.posessions addObject:anObject];
在讀了一堆和搜索網絡後,我似乎無法找到準確如何在我的自定義類中與此NSMutableArray進行交互。我敢肯定這是明顯的,我只是沒有得到,它已成爲一種心理障礙...
此外,我正確的綜合NSMutableArray的訪問器屬性?如果是這樣,setX和X似乎不是那麼明顯與NSMutableArray ...除非他們簡單地將整個陣列複製到本地變量...
也許這是需要做什麼?使用訪問器方法獲取整個數組,將其放置在局部變量中,進行更改,然後使用set訪問器方法將整個數組放回到person對象中?
有人能讓我對我應該在這裏使用的語法有點?
*編輯*
我想我有點澄清添加到這個問題。我的自定義對象(在上面的例子中,我的人物對象)基本上是數據庫記錄。我在我的項目中使用了幾個數據庫,例如:
Person - 包含多個NSString對象以及Ints和BOOL的NSObject的自定義子類。
personDatabase - Person對象(設置和我的主控制器對象中控制)
所有set和get方法都是從「控制器」之稱的數組。
我一直在試圖做的是直接從我的Controller對象中訪問personDatabase中包含的單個對象。我已經通過聲明另一個對象這種方式做到了這一點:
someOutput = [activePerson name];
:
Person *activePerson;
然後,我所有的電話都到當前活躍的人記錄(目前從personDatabase選擇的一個),例如發
等
有沒有辦法直接訪問我的Controller對象中的activePerson對象內的NSMutableArray對象內的對象?
當你說「這樣的嘗試沒有奏效」,你的意思是它沒有將它添加到數組中,或者它得到一個錯誤? –
無論我嘗試如何操作它,數組總是返回0的計數,所以它要麼根本不添加對象,要麼完全是意想不到的(對我來說)。我主要試圖理解用於添加對象或從數組讀取對象的正確語法。 –