簡體   English   中英

iOS-從其超類設置UIButton目標和操作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM