プロパティにはreadonly
というプロパティがあり、プロパティはreadonly
なので2つのクラス(例:A & B)にそのプロトコルを採用する必要があり、それらを再宣言しています私のクラス(A & B)の両方の.m Files
は、両方のクラスのすべてのプロパティのこの重複した再宣言を避ける方法がありますか?共通ファイルに@propertiesを宣言できますか?
0
A
答えて
-1
クラスを作成し、そのクラスで読み取り専用プロパティを宣言します。クラスから継承するクラスAとクラスBを作成します。
だからあなたCommonClass.h
は今、あなたはあなたがヘッダファイルに共通のプロパティ定義を配置して含めることができCommonClass
@interface A : CommonClass
@interface B : CommonClass
+0
それはプロトコルでそれらを宣言する利点を否定する。 – Avi
0
を継承し、あなたのクラスAとBを作成することができ、この
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface CommonClass : NSObject
@property (strong, readonly) <Type1> property1;
@property (strong, readonly) <Type2> property2;
@end
ようになります。それは各クラスのインタフェースにあります。
共通ヘッダ:共通props.h
@property (nonatomic, retain) SomeType *common1;
@property (nonatomic, retain) SomeType *common2;
@property (nonatomic, retain) SomeType *common3;
実装:クラスBの A.M
@interface A()
// Note: you have to use include, not import,
// to ensure the contents will be interpolated, no matter what.
#include "common-props.h"
@end
@implementation A
// Stuff
@end
繰り返し
このアプローチは推奨されません。とにかく、私によって。
関連する問題
- 1. Swagger/Open API 2.0では、共通の応答ヘッダーを宣言できますか?
- 2. styles.xmlファイルのすべてのボタンに共通のonClick属性を宣言する
- 3. Angular2ルートモジュールで共通コンポーネントを宣言する方法
- 4. 共通のlispで定義する前に関数を宣言するには?
- 5. app.configファイルで変数を宣言できますか?
- 6. グローバル変数をQMLファイルで宣言できますか?
- 7. SVG要素のフォントをCSSファイルで宣言できますか?
- 8. Typescript:宣言ファイルと.jsファイルからtsファイルを生成できますか?
- 9. C#ifステートメントの共通基底クラスの宣言変数
- 10. JavaFX多言語.propertiesファイルのエンコーディング
- 11. Switch宣言で型宣言を行うことはできますか?
- 12. 共有MustOverrideを宣言する
- 13. XMLファイルから関数宣言を動的に構築できますか?
- 14. はfstreamオブジェクトを宣言できませんか?それをポインタとして宣言できますか?
- 15. ジェネリック制約と共にインターフェイス宣言
- 16. どのように共通のインターフェイスを共有する異なるクラスへのポインタを宣言できますか?
- 17. パペット重複宣言:クラス[Mongodb]は既に宣言されています。再宣言できません
- 18. 配列やスタックを宣言するときに二重リンクリストを宣言できるクラスがありますか?
- 19. PHP/Laravel 5.1 - 以前にファイルで宣言したメソッドを再宣言できません
- 20. Railsで共有部分形式のオブジェクトをどこに宣言しますか?
- 21. 宣言できませんKubernetes API型宣言の型式
- 22. スーパークラスでivarsを宣言するか、サブクラスで@synthesizeを宣言しますか?
- 23. ロボットフレームワークで実行時に変数を宣言できますか?
- 24. Excel VBAでワークシートオブジェクトをグローバルに宣言できますか?
- 25. ODBC共通言語リファレンス?
- 26. C++共通言語ランタイムサポート[.Net?]
- 27. 前方宣言とプロトタイプ宣言 "宣言"を呼び出すだけですか?
- 28. asp.netの共有ポイントページでセッション変数を宣言できません
- 29. connectionstringはweb.configで宣言せずにiisで宣言します
- 30. 条件付きでSpring Beanを宣言できますか?
これを行う利点は何ですか?線の数が少ないという利点は、複雑さが増すことで打ち消されます。 – Droppy
はい、それらをNSObjectファイルで宣言できます。次に、これらのプロパティを使用する必要があるヘッダファイルをインクルードします。関数に対しても同じことができます。 – WasimSafdar
@Droppyでは、複雑さが減り、複雑さが増すことはありません。 – WasimSafdar