我已經重寫了我創建的對象的描述方法,很簡單。該對象是NSMutableURLRequest
的子類。iOS描述方法不叫
- (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;
}
什麼鬼?
''NSMutableURLRequest''或''沒有按NSURLRequest''班」沒有'' - (NSString *)說明'方法聲明。你正在訪問''NSObject''的方法'' - (NSString *)description''。見[this](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html#jumpTo_7) – damirstuhec
顯示實例化對象的代碼。 – Jasarien
正如Kevin在他的回答中所說的,你正在實例化一個NSMutableURLRequest,而不是你的子類。 – Jasarien