NSStringの値の後に名前が付けられたオブジェクトを作成することはできますか?もしそうなら、どうですか?NSStringの値の後に名前が付けられたオブジェクトを作成することは可能ですか?
2
A
答えて
3
これを試してください:あなたは、文字列は、クラス名を指定していることを意味している場合
Class theClass = NSClassFromString(someString);
id object = [[theClass alloc] init];
1
、[はい、それは適切なクラスを検索するNSClassFromString機能を使って、これを行うのは簡単だ「工場」オブジェクト:
NSString* myClassName = @"NSNumber";
id myNewObject = [[NSClassFromString(myClassName) alloc] init];
// myNewObject is an NSNumber...
例は設計されていますが、あなたはその考えを得ています。
1
はい:
//In your header
extern NSString *FrobnitzerCalibrationHigh;
extern NSString *FrobnitzerCalibrationMedium;
extern NSString *FrobnitzerCalibrationLow;
//In your implementation
NSString *FrobnitzerCalibrationHigh = @"FrobnitzerCalibrationHigh";
NSString *FrobnitzerCalibrationMedium = @"FrobnitzerCalibrationMedium";
NSString *FrobnitzerCalibrationLow = @"FrobnitzerCalibrationLow";
あなたはマクロのカップルを作り、自分のプレフィックスヘッダにそれらを置くことができます。
//In your header
DECLARE_STRING_CONSTANT(FrobnitzerCalibrationHigh);
DECLARE_STRING_CONSTANT(FrobnitzerCalibrationMedium);
DECLARE_STRING_CONSTANT(FrobnitzerCalibrationLow);
//In your implementation
DEFINE_STRING_CONSTANT(FrobnitzerCalibrationHigh);
DEFINE_STRING_CONSTANT(FrobnitzerCalibrationMedium);
DEFINE_STRING_CONSTANT(FrobnitzerCalibrationLow);
:
//Semicolons intentionally omitted (see below)
#define DECLARE_STRING_CONSTANT(name) extern NSString *name
#define DEFINE_STRING_CONSTANT(name) NSString *name = @#name
は、その後、あなたのクラスのヘッダーおよび実装にそれらを使用します
(マクロではセミコロンを使用しないため、セミコロンは省略されています。この場合、展開はextern NSString *FrobnitzerCalibrationHigh;;
- 無意味ですが、他の場合はほとんど無害でないため、これを行うと私には不具合が生じます。
関連する問題
- 1. 予期しない後にポストマクロのガベージコレクションを可能にする名前付きExcel.Applicationオブジェクトの作成方法
- 2. 匿名(ランダムに名前が付けられた)キューが作成された場合、RabbitMQミラーリングは可能ですか?
- 3. 名前に関連付けられたオブジェクトを返します
- 4. 名前フィールドに結び付けられたデータベースにスラッグフィールドを作成する
- 5. Cマクロに似た名前の関数をPythonで作成することは可能ですか?
- 6. このタイプの列挙可能な操作に受け入れられる名前はありますか?
- 7. Using NSString変数の値がオブジェクトを操作するために名前が参照される
- 8. R:ベクトルの値の後にdata.frameの名前を付けます
- 9. 目的(NSString)*名前と(NSString *)名の違いは何ですか?
- 10. ブロックにタグを付けることは可能ですか?
- 11. AIRアプリケーションに "nag"を付けることは可能ですか?
- 12. ルートプレフィックスにプレースホルダを付けることは可能ですか?
- 13. 2つのベクトル(名前、値)から名前付きリストを作成
- 14. クライアントコントロールのIDと値をRequestオブジェクトに添付...可能ですか?
- 15. は、それが描画可能に私たち自身のフォルダを作成することが可能です
- 16. 関連付けられたオブジェクトでラジオボタンのように動作するブール値フィールドを作成したい
- 17. NSStringを使用したNSArrayはこれも可能ですか?
- 18. なぜWebでファイル名の名前が付けられるのですか
- 19. オブジェクトの定義中にオブジェクト値にアクセスすることは可能ですか?
- 20. DLLを作成した後にPDBファイルを作成することは可能ですか?
- 21. 名前付きOSMallocTagを作成したライブラリを見つけることはできますか?
- 22. 文字列の後に新しいオブジェクトの名前を付けますか?
- 23. NSStringをunicharに変換することが可能です
- 24. 名前付きの値を持つベクトルからデータテーブルを作成し、名前を保持する方法は?
- 25. 一時変数を作成せずに名前のないパラメータを「渡す」ことは可能ですか?
- 26. オブジェクトや値をPythonスクリプトからホスティングアプリケーションに返すことは可能ですか?
- 27. 入力オブジェクト名に基づいて名前を付けるリストを作成できますか?
- 28. 名前を付けるjQueryの値
- 29. このように名前が付けられた「ソートブロック」のパラメータはなぜですか?
- 30. トリガでデータを変更したストアドプロシージャの名前を見つけることは可能ですか?