1. ホーム
  2. ios

[解決済み] Objective-Cのメソッドオーバーローディング?

2022-06-26 21:48:12

質問

私の知る限り、Objective-Cはメソッドのオーバーローディングをサポートしていません。Objective-Cでこれに代わるものは何ですか?それとも、常に異なるメソッド名を使用する必要がありますか?

どのように解決するのですか?

objective-Cはメソッドのオーバーロードをサポートしていませんので、別のメソッド名を使用する必要があります。

しかし、"メソッド名"にはメソッド署名キーワード(":"sの前に来るパラメータ名)が含まれることに注意してください。 の前に来るパラメーター名) を含むことに注意してください。したがって、次の 2 つの とは異なる メソッドであり、両方とも "writeToFile" で始まっているにもかかわらず、次のようになります。

-(void) writeToFile:(NSString *)path fromInt:(int)anInt;
-(void) writeToFile:(NSString *)path fromString:(NSString *)aString;

(2つのメソッドの名前は "writeToFile:fromInt:" と "writeToFile:fromString:" です).