0

我已经解析了存储在NSObject文件中的数据。然后我将目标文件存储在一个数组中:

[array addobject: object];

当我打印数组时,它只包含第一个对象值。

我全局声明了数组,为它分配了内存并为对象分配了内存。

它是这样打印的:

数组计数 2 和数组是:

(

    "about 1st orders",

    "about 2nd orders"
) 

类是__NSArrayM

以前它可以正确存储整个对象。

有什么想法或建议可以解决这个问题吗?

4

3 回答 3

2

以下是为您描述的逻辑,可能对您有所帮助。

首先创建一个类(名称随心所欲

#import <Foundation/Foundation.h>

@interface MyClassName : NSObject {
    NSString *name; // set as per your requirement.
    NSString *address; // set as per your requirement.
   .
   .
   .
}
@property (retain, readwrite) NSString * name;
@property (retain, readwrite) NSString * address;
.
.
.

并正确@synthesize发布参考。(如果不使用ARC

然后在这个类对象中添加你的数组然后获取数据,比如,

编辑:

 NSMutableArray *anOtherArray = [[NSMutableArray alloc] init];
    for(int i=0; i < listOfArray.count; i++)
    {
         MyClassName *myData = [self.listOfArray objectAtIndex:i];
         NSLog(@"%@", myData.name);
         NSLog(@"%@", myData.address);
         [anOtherArray addObject:myData.name];
         [anOtherArray addObject:myData.address];
    }
于 2013-03-13T14:43:49.530 回答
0

Here is what i usually do when putting objects into array :

#import <Foundation/Foundation.h>

@interface ImageObject : NSObject
{
    NSString *ImageURL;
    NSString *Date;
// put any other stuff here.

}

@property (nonatomic, strong) NSString *ImageURL;
@property (nonatomic, strong) NSString *Date;
// put any other stuff here too.

@end

Then when you want to insert the object :

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

NSArray *array = [[NSArray alloc]initWithArray:[self.imageDictionary objectForKey:@"images"]];
        for (NSDictionary *dict in array) {
            ImageObject *imgObj = [[ImageObject alloc]init];
            imgObj.ImageURL = [dict objectForKey:@"ImageURL"];
            imgObj.Date = [dict objectForKey:@"LogDate"];
            [yourMutableArray addObject:imgObj];

        }

and for calling the items inside the array :

ImageObject *imgObj = [[ImageObject alloc]init];

imgObj = [yourMutableArray objectAtIndex:indexOfArray];
于 2013-03-14T06:44:54.157 回答
0

您存储在 中的对象的定义是什么NSArray?对于存储在数组中的自定义对象,您应该覆盖 NSObject 的isEqual方法。

对于存储在地图中的自定义对象,例如NSDictionary,您也需要实现hashcode

于 2013-03-13T14:24:26.177 回答