我已经覆盖了我创建的对象的描述方法,非常简单。该对象是NSMutableURLRequest
的子类。
- (NSString *)description
{
return [[NSString alloc] initWithData:self.HTTPBody encoding:NSUTF8StringEncoding];
}
我还将- (NSString *)description;
放在.h
但是当我NSLog
对象时它没有被调用。它不是NSManagedObject
。如果我只调用myObject.description;
,即使调试器也不会进入“描述”。我正在我的对象的实例上精确调用该方法,而不仅仅是NSMutableURLRequest
。
编辑: 我像这样实例化对象:
MYRequest *myRequest = [MYRequest requestWithFilter:myFilter];
NSLog(@"%@", myRequest);
这是工厂方法:
@interface MYRequest : NSMutableURLRequest
+ (instancetype)requestWithFilter:(NSString *)filter;
@implementation MYRequest
+ (instancetype)requestWithFilter:(NSString *)filter
{
// some config
MYRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:0 timeoutInterval:15];
// some more config
return request;
}
到底是什么?
答案 0 :(得分:1)
您没有子类的实例,只有正常的NSMutableURLRequest
。
答案 1 :(得分:0)
NSMutableURLRequest
或NSURLRequest
类未声明- (NSString *)description
方法。
您正在访问NSObject
方法- (NSString *)description
。
请参阅this
您应该在自定义类中声明您自己的 description
方法,并将其命名为:
NSString *myObjectDescription = [myCustomObject description];