6

誰かが次のコードを説明できますか?

- (id)initWithTitle:(NSString*)title ratings:(float)rating;

(NSString*)title = first parameter , type =string, name = title

rating:(float)rating = ? ? ?これはどういう意味ですか?

Floatはタイプであり、2番目の評価がパラメーターの名前である場合、開始時の評価は何ですか。

4

4 に答える 4

28

Objective-Cのメソッドは自己文書化するように設計されており、Smalltalkの豊かな伝統を取り入れています。

私はあなたがここに何を持っているかを説明しようとします、-(id)initWithTitle:(NSString*)title rating:(float)rating;

- (id)

この最初の部分は、これがidオブジェクトを返すObjectiveCインスタンスメソッドであることを示しています。-(ダッシュ)はこれがインスタンスメソッドであること+を示し、aはこれがクラスメソッドであることを示します。括弧内の最初の値は、メソッドの戻り値です。

initWithTitle:

この部分はメッセージ名の一部です。この場合の完全なメッセージ名はですinitWithTitle:rating:。Objective-Cランタイムはこのメソッド情報を受け取り、指定された受信者に送信します。純粋なCでは、これはのようになります id initWithTitle(NSString* title, float rating)。ただし、これはObjective-Cであるため、追加情報がメッセージ名にパックされます。

(NSString*)title

この部分は入力の一部です。ここでの入力はタイプNSString*であり、titleのローカル変数名を持っています。

rating:

この部分は、メッセージ名の2番目の部分です。ここでわかるように、メッセージ名は、受信者に渡す情報を示すのに役立つように分割されています。したがって、変数fooとbarを使用してオブジェクトmyObjectにメッセージを送信する場合は、 [myObject initWithTitle:foo rating:bar]; C ++スタイルではなく :と入力しmyObject.initWithTitle(foo, bar);ます。

(float)rating

これは入力の最後の部分です。ここでの入力はfloat型であり、評価のローカル変数名を持っています。

うまくいけば、これがお役に立てば幸いです。

于 2012-08-30T04:24:25.450 に答える
2

これにより、関数の宣言方法を理解することができます。

Objective-C機能の概要

于 2012-08-30T04:23:13.813 に答える
2

initWithTitleObjective-cのメソッド名です。

titleとはそれぞれタイプとratingの2つのパラメータです。initWithTitle methodstringfloat

ここで、ratingsはパラメータの2番目の部分に付けられた名前または識別子です。

このメソッドは、次を使用して呼び出すことができます。[self initWithTitle:str ratings:0.5];

私はあなたの疑問が今明らかになっていることを願っています:)

于 2012-08-30T04:41:30.903 に答える
0
- (id)initWithTitle:(NSString*)title ratings:(float)rating;

その中であなたはそれを知っています

(NSString*)title=最初のパラメータ、type=文字列、name=タイトル

同じ方法

ratings:(float)rating ratings:結合された引数、type= floatでありrating、この関数のプレースホルダー名です。

于 2016-06-02T06:13:41.853 に答える