IOSクラスは、結合メソッドを定義するので(ピットがある場合)

以下:直接転写自己が現実的ではありません。

#import <UIKit/UIKit.h>

@interface XMPickDataView : UIView

+(void) onClick;

@end

@interface XMPickDataView()

@end

@implementation XMPickDataView

+(void) onClick{

	UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 200, 100)];
    [btn addTarget:self action:@selector(add) forControlEvents:UIControlEventTouchUpInside];	

}
-(void) add{
    NSLog(@"add:");
}

@end


解決策:他のクラスと結合するこの方法は、このメソッド内で彼のクラスはあなたでない場合ので、私たちが必要とするこの時、あなたは独自のを初期化するために、このメソッドを呼び出したとき、あなたはクラスの別のインスタンスを使用する時には、仕事をしません。あなたの方法は、クラス定義では、メソッドを見つけることができません、不適切なオブジェクトは文句を言うでしょう合格することを余儀なくされています

#import <UIKit/UIKit.h>

@interface XMPickDataView : UIView

+(void) onClick;

@end

@interface XMPickDataView()

@end

@implementation XMPickDataView

+(void) onClick{
	//初始化一个自己
	XMPickDataView *custom = [[XMPickDataView alloc] initWithFrame:CGRectMake(0,-10,10,10)];
    [[UIApplication sharedApplication].keyWindow addSubview:custom];
	UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 200, 100)];
    [btn addTarget:custom action:@selector(add) forControlEvents:UIControlEventTouchUpInside];	

}
-(void) add{
    NSLog(@"add:");
}

@end


公開された12元の記事 ウォンの賞賛5 ビュー5180

おすすめ

転載: blog.csdn.net/qq_41586150/article/details/104070340