2 つの UIViewController サブクラスがあり、どちらも UITextFieldDelegate プロトコルに準拠しています。IOW、私はこれらのクラスを持っています。
# MyVC1.h
@interface MyVC1 : UIViewController <UITextFieldDelegate>
# MyVC1.m
@interface MyVC1 () {
// Private variable, so not a property
UITextField *_myTextField;
}
@end
@implementation MyVC1
- (void)viewDidLoad
{
_myTextField = [self textFieldwithPlaceHolderText:@"*Text"];
}
@end
もちろん、クラス名を除いて、MyVC2 クラスの同じコード。
ただし、これは奇妙な部分です。私のコードは MyVC1 用にコンパイルされますが、MyVC2 用にはコンパイルされません。MyVC2 の場合、コンパイラは「"MyVC2" の目に見える @interface がセレクター "textFieldwithPlaceHolderText" を宣言していない」と言います。