我在這裏發現this後,我不知道代碼的有效性。 但是,我從來沒有遇到過這樣的事情,也沒有讀過關於這方面的任何事情(我剛剛開始objectiveC)。這裏是代碼示例需要澄清這個返回類型
@implementation MyHTTPConnection
- (NSObject<HTTPResponse> *)httpResponseForMethod:(NSString *)method URI:(NSString *)path
{
HTTPLogTrace();
if ([path isEqualToString:@"/getElement"])
{
NSData *data = ...
HTTPDataResponse *response = [[HTTPDataResponse alloc] initWithData:data];
return response;
}
// default behavior for all other paths
return [super httpResponseForMethod:method URI:path];
}
@end
我的問題是這裏的返回類型是什麼?
(NSObject<HTTPResponse> *)
它在我看來是一個實現HTTPResponse對象的NSObject指針。 我認爲它可以簡單地寫成這樣
NSObject *
我錯過了什麼?我不確定爲什麼會選擇上述內容。特別是與NSObject。任何建議,澄清這將不勝感激。