いつ(NSString *)名を使用するのか、いつ使用するのか理解できません。 誰かが私を助けることを願っています/目的(NSString)*名前と(NSString *)名の違いは何ですか?
2
A
答えて
3
括弧はキャスト演算子を構成します。私。 (NSString*) name
は、コンパイラがname
をNSStringへのポインタとして解釈する必要があることを意味します。一方、(NSString) *name
は、コンパイラが逆参照された値(つまり、値name
を指す)をNSStringとして解釈する必要があることを意味します。
3
(NSString)*name
を使用する必要はありません。 NSString *
はタイプ:NSString
のインスタンスへのポインタです。したがって、このようなメソッドの宣言に:
- (NSString *)capitalisedString: (NSString *)string
たび(NSString *)
は、それが「次のものがNSString *
を入力している」という意味が表示されます。最初の1つはメソッドの戻り値がNSString
インスタンスであることを意味し、2番目の引数はstring
の型がNSString
インスタンスであることを意味します。
この説明は、変数を特定の型のものとして扱うようにコンパイラに指示するときにも適用されます。 NSString *
がタイプですので、あなたは次のようにキャストします:
id object = //...
NSString *myString = (NSString *)object;
関連する問題
- 1. NSString * s = @ "string"とNSString * s = [[NSString alloc] initWithString:@ "string"]の違いは何ですか?
- 2. NSStringの%@%dの名前
- 3. メモリ管理 - 目的C NSString
- 4. NSStringの内容をNSArrayの名前として使用する
- 5. x:Keyとx:WPFの名前の違いは何ですか?
- 6. 名前とフレンドリーネームの違いは何ですか?
- 7. SBT - 名前とIDの違いは何ですか?
- 8. ウィンドウでは、名前付きセマフォと名前のないセマフォの違いは何ですか?
- 9. 目的C - NSString - メモリの基礎
- 10. 名前の衝突を避けるNSString固有のファイルパス
- 11. NSStringからNSString
- 12. NSStringからNSString
- 13. 列名の前に項目名を付けるメリットとデメリットは何ですか?
- 14. NSStringでNSStringをNSStringで表示する
- 15. 名前とtmp_nameの違い
- 16. NSLogと-print descriptionの違いはNSStringとUTF-8です
- 17. plist NSString項目をUIImageViewオブジェクト名として使用する方法
- 18. 目的地cでnsstringの値がnullになりますか?
- 19. NSStringのようにメソッドのクラスの名前を取得するには?
- 20. 「.v8flags.3.14.5.9。{名前}」とは何ですか?
- 21. Windows Workflow Foundation 4.0のプロトコルと名前付きブックマークの違いは何ですか?
- 22. NSStringの値の後に名前が付けられたオブジェクトを作成することは可能ですか?
- 23. NSStringとNSCharactersetの間にdiffernceとは何ですか?
- 24. C++でobjective-c NSString *と同等のものは何ですか?
- 25. の目的は何ENDOFでユーザ名とホスト名の使用、公開RSA鍵
- 26. - [NSString stringByAppendingPathComponent:]またはNSStringsのNSStringsの[NSString stringByAppendingFormat:]のみですか?
- 27. jQueryの無名関数ラッパーの目的は何ですか?
- 28. mojoliciousのルート名の目的は何ですか?
- 29. Gradleで署名用プラグインとsigningConfigsの違いは何ですか?
- 30. tbl_Product、tbl_Order命名規則の目的は何ですか?
をしかし、Objective-Cのクラスはかなりのポインタとして以外に使用されることはありませんから、NSString' 'にキャスト' * NAME'は、あなたがやるべきではありません何かあるか見ます。 –
@KenThomases Objective-Cは、クラスタイプを直接使用することはほとんどないタイプを使用する**の**スタイル**を推奨します。しかしながら、それは禁止されておらず、例えば内省のために有用であり得る。そして私は、「悪だ、しない」という種類の代わりに、何が起こっているのかを説明する答えを提供することを好む。 – Matthias