タグ付けされた質問 「categories」


12
「宣言されていないセレクター」の警告を取り除く方法
実装されたプロトコルを必要とせずに、NSObjectインスタンスでセレクターを使用したい。たとえば、呼び出されたNSObjectインスタンスがエラープロパティをサポートしている場合にエラープロパティを設定するカテゴリメソッドがあります。これはコードであり、コードは意図したとおりに機能します。 if ([self respondsToSelector:@selector(setError:)]) { [self performSelector:@selector(setError:) withObject:[NSError errorWithDomain:@"SomeDomain" code:1 userInfo:nil]]; } ただし、コンパイラはsetError:シグネチャの周りにメソッドを検出しないため、@selector(setError:)スニペットを含む各行に対して警告を表示します。 Undeclared selector 'setError:' この警告を取り除くためにプロトコルを宣言する必要はありません。これを使用して特別なものを実装するすべてのクラスが必要になるわけではないためです。慣例として、私は彼らにsetError:メソッドまたはプロパティを持たせたいと思っています。 これは可能ですか?どうやって? 乾杯、 EP

6
静的ライブラリのObjective-Cカテゴリ
静的ライブラリをiPhoneプロジェクトに適切にリンクする方法を教えてください。アプリプロジェクトに追加された静的ライブラリプロジェクトを直接依存関係(ターゲット->一般->直接依存関係)として使用し、すべて正常に機能しますが、カテゴリは機能します。静的ライブラリで定義されたカテゴリがアプリで機能していません。 だから私の質問は、いくつかのカテゴリを持つ静的ライブラリを他のプロジェクトに追加する方法ですか? そして一般的に、他のプロジェクトのアプリプロジェクトコードで使用するベストプラクティスは何ですか?

6
Objective-C:カテゴリのプロパティ/インスタンス変数
Objective-Cのカテゴリで合成プロパティを作成できないため、次のコードを最適化する方法がわかりません。 @interface MyClass (Variant) @property (nonatomic, strong) NSString *test; @end @implementation MyClass (Variant) @dynamic test; - (NSString *)test { NSString *res; //do a lot of stuff return res; } @end テスト方法は、実行時に複数回呼び出されて、私は結果を計算するために多くのものをやっています。通常、合成されたプロパティを使用して、メソッドが最初に呼び出されたときに値をIVar _testに格納し、次にこのIVarを返すだけです。上記のコードをどのように最適化できますか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.