我敢肯定,这是一个完整的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的计数,所以它要么根本不添加对象,要么完全是意想不到的(对我来说)。我主要试图理解用于添加对象或从数组读取对象的正确语法。 –