自定义对象在创build后清空
我有一个自定义对象:扩展NSObject
Vendor
。 我是这样开始的:
NSDictionary *vendorObj = [vendors objectAtIndex:i]; Vendor *vendor = [[Vendor alloc] initWithVendorInfo:vendorObj]; NSLog(@"VendorObj: %@", vendorObj); NSLog(@"Vendor: %@", vendor);
这是类的样子:
@interface Vendor : NSObject @property (nonatomic, copy) NSString *name; @property (nonatomic, copy) NSString *description; - (id)initWithVendorInfo:(NSDictionary *)vendorDetails; @end @implementation Vendor - (id)initWithVendorInfo:(NSDictionary *)vendorDetails { self = [super init]; if(self) { _name = [vendorDetails[@"company_name"] copy]; _description = [vendorDetails[@"description"] copy]; } return self; }
如果我NSLog vendorObj
所有细节都在那里。 一旦我启动Vendor
对象和NSLog它,日志显示:
2013-11-21 22:22:44.769 [48202:a07] Vendor:
我似乎无法弄清楚为什么我的对象是什么,没有内存地址,甚至没有一个null。 我在这里做错了什么?
问题是你的description
属性。 NSObject
类定义了一个description
方法。 当您使用带有对象的%@
格式说明符时,将调用此方法。
您的description
属性重写该方法。
将您的description
属性重命名为其他内容。