我仍然在學Objective-C,這段代碼看起來很奇怪,很難得到一個好的搜索結果。Or和返回值說明
@interface Practice : NSObject
{
NSString *name;
NSString *sortKey;
}
- (NSComparisonResult)sortPack:(Practice *)other
{
return [[self sortKeyOrName] caseInsensitiveCompare:[other sortKeyOrName]];
}
我的問題是:
的 「或」[自sortKeyOrName]可以是兩個變量?如果是這樣,它如何確定要採用哪個變量?
該調用過程如何工作?這是我對此的看法,它比較其他和sortKeyOrName然後返回,如果它的asc,desc,或者相同,並且返回的值被賦值給[self sorkeyOrName]?
謝謝。
從哪裏得到這段代碼? – CRDave
請閱讀http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/主要「方法和消息」。 – Popeye
'name'和'sortKey'與'sortPack'函數無關。 '[self sortkeyOrName]'是一個方法調用。 '[[self sortKeyOrName] caseInsensitiveCompare:[other sortKeyOrName]];'的結果將作爲'NSComparisonResult'返回給'sortPack:'方法的任何調用。 – Popeye