Objective c 在类上填充数组

Objective c 在类上填充数组,objective-c,ios6,Objective C,Ios6,我有一个小小的(也许)非常简单的问题,让我的大脑崩溃了 我创建了一个类“ArrayClass”: 现在我想在我的主文件中的这个类的对象上填充这个数组 我认为这是正确的,但不幸的是没有结果 //Main File: //Create an object ArrayClass *object_bla = [[ArrayClass alloc] init]; 那么如何用“object_bla”对象填充数组呢 我无法访问此阵列。对于正常值,例如int变量,我没有问题 事实上,我昨天还没走远。这就

我有一个小小的(也许)非常简单的问题,让我的大脑崩溃了

我创建了一个类“ArrayClass”:

现在我想在我的主文件中的这个类的对象上填充这个数组

我认为这是正确的,但不幸的是没有结果

//Main File:

//Create an object

ArrayClass *object_bla = [[ArrayClass alloc] init];
那么如何用“object_bla”对象填充数组呢

我无法访问此阵列。对于正常值,例如int变量,我没有问题


事实上,我昨天还没走远。这就是我想做的

我需要一个类,在其中我创建了一个数组。这是因为我想稍后用一些userinput填充这个数组

所以我上了我的课:

A类h

#import <Foundation/Foundation.h>

@interface AClass : NSObject

//Array deklarieren
@property NSMutableArray *WordList;


@end
#导入
@接口AClass:NSObject
//数组deklarieren
@属性NSMutableArray*字列表;
@结束
否在主文件中,我要创建此类的对象,以访问*WordList数组。稍后,课程会有更多的内容,所以这是一次试用。 我是C++开发人员,对Objto-C非常新,所以请修改我的NoOB问题PLS。 这就是我到目前为止所做的:

#import <Foundation/Foundation.h>
#import "AClass.h"

int main(int argc, const char * argv[])
{

    @autoreleasepool {

    //create object
    AClass *blabla = [[AClass alloc] init];

    //fill array
    [blabla.WordList addObject:@"GünterKörper"];

    //output
    for (int i = 0; i<[blabla.WordList count]; i++){
        NSLog(@"Objekte: %@", [blabla.WordList objectAtIndex:i]);
    }


    }
    return 0;
}
#导入
#导入“AClass.h”
int main(int argc,const char*argv[]
{
@自动释放池{
//创建对象
AClass*blabla=[[AClass alloc]init];
//填充数组
[blabla.WordList addObject:@“GünterKörper”];
//输出

对于(int i=0;i您需要为
名称列表创建
属性

@property (strong) NSMutableArray *NameList;
然后在
main
文件中

在main中创建一个
tempArray
,用一些数组填充它,然后使用:

NSMutableArray *tempArray=[NSMutableArray arrayWithArray:@[@"A",@"B",@"C"]];
[object_bla setNameList:tempArray;
如果要一次添加一个对象,请执行以下操作:

[object_bla.NameList addObject:@"new object"];

在向数组中添加对象之前,需要实例化数组。这可以通过多种方式完成:

1-在自定义类的init方法中:

@implementation AClass 

- (id)init {
    self = [super init];
    if (self) {
        _WordList = [[NSMutableArray alloc] init];
    }
    return self
}

// Rest of class implementation...

@end
2-通过在自定义类中实现自己的属性getter来使用延迟加载

@implementation AClass 

- (NSMutableArray *)WordList {
    if (_WordList == nil) {
        _WordList = [[NSMutableArray alloc] init];
    }
    return _WordList;
}

// Rest of class implementation...

@end

第二个可能是首选的,因为它只在您实际引用对象时分配内存。

谢谢您的回答。这是可行的。如果没有tempArray,是否不可能填充此数组?可以这样做,但我的问题还没有结束:-)谢谢你的回答。这很有效。没有tempArray就无法填充此数组吗?是的,可以。你需要手动填充,通过
addObject:
一次添加一个元素,如我的最后一行所示。我不知道你在这里试图完成什么。你创建了ArrayClass的一个实例,然后你想把它放进去数组中的实例(实际上是指向它的指针)?为什么要这样做?
@implementation AClass 

- (NSMutableArray *)WordList {
    if (_WordList == nil) {
        _WordList = [[NSMutableArray alloc] init];
    }
    return _WordList;
}

// Rest of class implementation...

@end