我重写了我创建的对象的描述方法,非常简单。此对象是 NSMutableURLRequest
的子类。
- (NSString *)description
{
return [[NSString alloc] initWithData:self.HTTPBody encoding:NSUTF8StringEncoding];
}
我还在.h中加入了- (NSString *)description;
但是当我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;
}
这到底是怎么回事?
最佳答案
您没有子类的实例,只有一个普通的 NSMutableURLRequest
。
关于iOS描述方法未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22203345/