繁体   English   中英

iOS描述方法未调用

[英]iOS description method not called

我已经覆盖了我创建的对象的描述方法,非常简单。 该对象是NSMutableURLRequest的子类。

- (NSString *)description
{
    return [[NSString alloc] initWithData:self.HTTPBody encoding:NSUTF8StringEncoding];
}

我还放了- (NSString *)description; 在.h中

但是当我NSLog对象时没有调用它。 它不是NSManagedObject 如果我只调用myObject.description;即使调试器也不会进入“ description” 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

NSMutableURLRequestNSURLRequest类没有声明- (NSString *)description方法。

您正在访问NSObject的方法- (NSString *)description

看到这个

您应该在自定义类中声明自己的 description方法,并按如下方式调用它:

NSString *myObjectDescription = [myCustomObject description];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM