[英]iOS - set UIButton target and action from its super class
我有2個類ClassA:UIView ClassB:UIViewController
我在ClassA中有一個UIButton
該按鈕在標題中聲明為A的@property
UIButton *selectBtn;
}
@property (nonatomic, strong) UIButton *selectBtn;
在A類的.m文件中,按鈕已初始化並顯示在屏幕上
ClassB導入ClassA的頭文件,並從中嘗試用以下命令設置按鈕的目標和操作
[ClassA.selectBtn addTarget:self action:@selector(getSomething:) forControlEvents:UIControlEventTouchUpInside];
但是我不斷收到一條錯誤消息,提示“類型A”的對象上找不到“屬性“ selectBtn”
我究竟做錯了什么 ? 任何幫助或指導都非常感謝
[ClassA.selectPicBtn addTarget:self action:@selector(getSomething:) forControlEvents:UIControlEventTouchUpInside];
使用selectPIcBtn而不是selectBtn
我不知道我是否缺少任何東西,因為其他海報都沒有提出,但是從我看來selectBtn是ClassA實例的屬性,而不是類本身的屬性。 嘗試獲取ClassA對象的實例,然后從該實例訪問屬性:
//WRONG
[ClassA.selectBtn addTarget:self action:@selector(getSomething:) forControlEvents:UIControlEventTouchUpInside];
//Correct
ClassA *aClassAObject = [[ClassA alloc] init];
[aClassAObject.selectBtn addTarget:self action:@selector(getSomething:) forControlEvents:UIControlEventTouchUpInside];
請記住,上面的代碼只是一個示例,不太可能是您要查找的對象。 如果要在ClassB對象中執行此操作,則必須獲取ClassB UIViewController積極使用的ClassA UIView。 通常,我會在ClassB中創建一個屬性來訪問ClassA對象,類似於為UIButton對象創建屬性的方式,但是我不確定如何設置類而不看到頭文件。
問題在這里。
UIButton *selectBtn;
}
@property (nonatomic, strong) UIButton *selectPicBtn;
selectBtn和selectPicBtn不同。 屬性名稱應與變量名稱相同。 如果聲明了屬性,則不需要變量聲明。
只聲明屬性並使用它。 初始化時,初始化Class A
self.selectPicBtn = [UIButton....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.