私は、.mファイルのカテゴリに対してプライベート@interface
を宣言しようとしています。カテゴリに対して2番目の@interfaceを宣言できますか?
私はどうしたら通常のクラスの場合:
@interface ClassA()
@end
@implementation ClassA
@end
、それがスムーズに働くだろう。
@interface ClassA (CategoryA)()
@end
@implementation ClassA (CategoryA)
@end
をしかし、それは別のエラーのすべての並べ替えを与えている:私が試したカテゴリを持つクラスの場合
。私はカテゴリを拡張しようとしています。つまり、この構文でクラスを拡張する方法は、@interface ClassA()
です。
カテゴリのプライベートメソッドが必要です。公開されたインターフェイスの追加で、インスタンス変数とメソッドを公開しない.mファイルに@interface
という2番目のカテゴリを入れることが許可されているかどうかを知りたかったのです。クラスそのものの外にある。このような
何か:
にClassA + categoryA.h
@interface ClassA (CategoryA)
<some public methods>
@end
にClassA + categoryA.m
@interface ClassA (CategoryA)
<some private methods>
@end
@implementation ClassA (CategoryA)
<here I want to be able to call the private methods above>
@end
をファイルには、今のところ、これは私のXcodeで警告を与えている。
カテゴリ 'Cateの重複定義goryA 'on interface' ClassA '
この現象を起こす方法はありますか?
-1の理由は何ですか?間違いをしましたか? –
曖昧なことに、あなたが話していたエラーを提供したはずです。しかし、私は答えが十分に明確だと思います。 – fbernardo
エラーはここでは関係ありません。明らかに、私が適用しようとしている構文をxCodeが理解していないためです。 –