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. 動的に名前が付けられたjavascriptオブジェクトを作成しますか?
- 2. play evolution SQLスクリプトに名前を付けることは可能ですか?
- 3. C#という名前のクラスに新しい名前を付けることは可能ですか?
- 4. 名前を変更したり、VSTSのビルドにカスタム名を付けることは可能ですか?
- 5. 予期しない後にポストマクロのガベージコレクションを可能にする名前付きExcel.Applicationオブジェクトの作成方法
- 6. plistから読み込まれたオブジェクトの可変バージョンを作成することは可能ですか?
- 7. 匿名(ランダムに名前が付けられた)キューが作成された場合、RabbitMQミラーリングは可能ですか?
- 8. ループイテレータの後に名前が付けられた行列の動的配列を作成する
- 9. 変数を使用して別の変数の名前を付けることは可能ですか?ここ
- 10. 名前に関連付けられたオブジェクトを返します
- 11. Cマクロに似た名前の関数をPythonで作成することは可能ですか?
- 12. このタイプの列挙可能な操作に受け入れられる名前はありますか?
- 13. タイプの後に名前を付ける変数の名前は何ですか?
- 14. 名前でC#のデフォルトパラメータがこれは可能ですか?
- 15. 名前フィールドに結び付けられたデータベースにスラッグフィールドを作成する
- 16. Using NSString変数の値がオブジェクトを操作するために名前が参照される
- 17. 目的(NSString)*名前と(NSString *)名の違いは何ですか?
- 18. 破壊されたオブジェクトに名前を付けるには?ここ
- 19. 他のテーブル列T-SQLに基づいて制約に名前を付けることは可能ですか?
- 20. 値の後にPython変数の名前を付けるにはどうしたらいいですか?
- 21. ラムダに名前を付けることはできますか?
- 22. 名前がハイフンで区切られた名前の反応コンポーネントファイルに名前を付けることの短所は何ですか?
- 23. カラム名に%記号を付けることは可能ですか?
- 24. Hiveconf/hivevar:変数名にドット( '。')を付けることは可能ですか?
- 25. XMLに複数の名前空間接頭辞を付けることは可能ですか?
- 26. NSStringを使用したNSArrayはこれも可能ですか?
- 27. R:ベクトルの値の後にdata.frameの名前を付けます
- 28. livestreamの作成後にstreamNameを変更することは可能ですか?
- 29. テーブルを使用せずにクエリ結果に名前を付けることは可能ですか?
- 30. ルートプレフィックスにプレースホルダを付けることは可能ですか?