重複の可能性:
Objective-cの保護されたメソッド
プライベートプロパティを宣言する方法は簡単です。
.mファイルで宣言されている拡張子でそれを宣言します。
保護されたプロパティを宣言し、クラスとサブクラスからアクセスしたいとします。
これは私が試したものです:
//
// BGGoogleMap+protected.h
//
//
#import "BGGoogleMap.h"
@interface BGGoogleMap ()
@property (strong,nonatomic) NSString * protectedHello;
@end
それはコンパイルです。それから私は追加しました:
#import "BGGoogleMap+protected.h"
@implementation BGGoogleMap ()
-(NSString *) protectedHello
{
return _
}
@end
問題が始まります。元の.mファイルの外にクラス拡張を実装できないようです。Xcodeは、そのブラケット内に何かを要求します。
私が行った場合
#import "BGGoogleMap+protected.h"
@implementation BGGoogleMap (protected)
-(NSString *) protectedHello
{
return _
}
@end
BGGoogleMap+protected.hで宣言された_protectedHelloのivarにアクセスできません
もちろん、拡張機能ではなく通常のカテゴリを使用できますが、それは保護されたプロパティを持つことができないことを意味します。
だから私は何をすべきですか?