簡體   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