iOS,在循环中创建业务对象,并将其添加到数组中
我是一个做iOS的.NET和java程序员,我想我应该提到这一点(也许我偏向于业务对象、类)。。。 无论如何 我有一些对象作为JSON流,我想把它们都输入到一个数组中,我创建了一个简单的类来表示这个对象并初始化它的属性 BizObject.hiOS,在循环中创建业务对象,并将其添加到数组中,ios,Ios,我是一个做iOS的.NET和java程序员,我想我应该提到这一点(也许我偏向于业务对象、类)。。。 无论如何 我有一些对象作为JSON流,我想把它们都输入到一个数组中,我创建了一个简单的类来表示这个对象并初始化它的属性 BizObject.h @interface BizObject : NSObject @property (readwrite, copy) NSString* back; @property (readwrite, copy) NSString* front
@interface BizObject : NSObject
@property (readwrite, copy) NSString* back;
@property (readwrite, copy) NSString* front;
@end
BizObject.m
#import "BizObject.h"
@implementation BizObject
@synthesize front, back;
//No init method, don't know if I need one !!
@end
现在,当我得到JSON条目时,我会这样做
NSMutableArray *tempArray = [NSJSONSerialization
JSONObjectWithData:JSONData
options:NSJSONReadingAllowFragments
error:&error];
if (!tempArray) {
NSLog(@"Error parsing JSON: %@", error);
} else {
for(NSDictionary *tempBizObject in tempArray) {
BizObject * newBizObject = [[BizObject alloc] init];
[newBizObject setBack: [tempBizObject valueForKey:@"back"]];
[newBizObject setFront:[tempBizObject valueForKey:@"front"]];
[bizObjectsArray addObject:newBizObject];
}
}
for(BizObject *bizObject in bizObjectsArray) {
NSLog(@"back: %@", bizObject.back);
NSLog(@"fron: %@", bizObject.front);
}
我有一些问题:
1:这种设置有什么问题吗
2:我得到了这个错误
malloc: *** error for object 0x165060: pointer being freed was not allocated
3:仅仅创建一个对象数组,它的所有属性都只是字符串,这是不是太过分了
谢谢大家的帮助。您正在释放未分配的对象。这意味着在代码中的某个地方,您正在释放已经释放的对象或释放未创建的对象,请对此进行检查。您的上述代码不包含该代码段请使用
@interface BizObject : NSObject
@property (nonatomic, retain) NSString* back;
@property (nonatomic, retain) NSString* front;
@end
显示的代码没有问题,崩溃是另一个对象。启用僵尸对象以查看崩溃的更多细节。但我不释放任何对象?这都是弧。