自定义对象在创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属性重命名为其他内容。