我有一个自定义对象:Vendor
扩展NSObject
。我是这样开始的:
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。我在这里做错了什么?
答案 0 :(得分:5)
问题在于您的description
财产。 NSObject
类定义了description
方法。将%@
格式说明符与对象一起使用时,将调用此方法。
您的description
属性覆盖了该方法。
将您的description
媒体资源重命名为其他内容。