ios - 创建一个包含自定义类对象的数组

标签 ios objective-c

我有一个类,它有几个属性,它看起来像这样:

@interface PlaceHolder : NSObject

@property (strong, nonatomic) NSString *name;
@property (strong, nonatomic) NSString *description;
@property (strong, nonatomic) NSString *webPage;
@property (strong, nonatomic) NSNumber *latitude;

我需要的是创建一个数组来保存该类的对象。很明显,属性不会为零,并且每次都会不同。因此,该数组必须有数百个 PlaceHolder 对象,并且应该可以获得任何该对象及其属性的信息。但是,当我尝试创建该数组时,在 NSLog 中我看到它只包含 (NULL) 对象。这也是我尝试将对象添加到数组的方式:

在标题中我写道:

@property  (strong, nonatomic) PlaceHolder  *place;

然后:

self.place = [[PlaceHolder alloc]init];
    self.place.name = nameString;
    NSLog(@"%@ name???", self.place.name);
    [self.placeObjectsArray addObject:self.place];

self.place.name 不是零,而且数组仍然是空的。好吧,这不是真的,它不是空的,但它只包含(空)对象。如何用我类(class)的对象填充数组?

如有任何建议,我们将不胜感激!

更新:

我这样初始化数组 -

-(id)initWithDelegate:(id)delegateObj{
    ...
    self.placeObjectsArray = [NSMutableArray array];
    ...
    return self;
}

更新:现在,当我尝试以相同的方法初始化分配数组(而不是设置@property 和强关系)时,我可以在 NSLog 中看到它。我想知道为什么当我使用设置为属性的数组时它不会发生。

最佳答案

您需要分配初始化您的可变数组;

NSMutableArray *myArray = [[NSMutableArray alloc]initWithObjects:self.place,nil];

或者只是

NSMutableArray *myArray = [[NSMutableArray alloc]init];

然后您可以使用 for 循环或您需要的任何内容添加对象,使用以下命令:

for ( YOURINSTRUCTION )
{
[myArray addObject:YOUROBJECT]
}

关于ios - 创建一个包含自定义类对象的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24243129/

相关文章:

objective-c - 如何对 iOS Objective-C 应用程序和 Ruby on Rails 之间的加密数据进行编码?

ios - 强制按钮看起来被按下?

iphone - 扩展 UIView -Iphone

ios - 在触摸移动的方向上平移 uiview,iphone

c++ - 如何在函数内部操作 char 数组(字符串)的指针,它在 c/c++ 中作为参数传递

带有 plist 返回的 iOS 7 arrayWithContentsOfFile 导致类型无效

iphone - IBOutlet 属性是否必须是非原子的?

ios - AFNetworking 使用 URL 设置 UITableViewCell 的 imageView 图像,设置图像后 imageview 框架仍然为 0

ios - 如何使用正确的自动换行跨等边界 View 拆分 NSAttributedString

ios - 如何将 NSArray 参数传递给完成 block