iOS:一個可以持有Model的Button

UIButton-JLModelButton

Github地址
一個 UIButton 的分類,使用 Runtime 動態(tài)綁定使它能夠持有 model 屬性(id 類型),便于直接在點擊事件中抓取數(shù)據(jù)。

這是在一個項目需求中想到的,用于減少獲取 Button 對應(yīng)的 model 產(chǎn)生錯誤,同時減少可能出現(xiàn)的遍歷以提升效率。

例如:
頁面中有一組 Button ,可以將他們對應(yīng)的 model 直接賦值給 UIButton 對象,等我們需要獲取的時候,可以直接在 Button 的點擊事件當(dāng)中獲取到其對應(yīng) model 。

1.創(chuàng)建 Button 時將 Model 賦值給它

JLButtonModel *model = self.dataArr[i];
UIButton *btn = [[UIButton alloc] init];
btn.model = model;
[btn addTarget:self action:@selector(didTouchBtn:) forControlEvents:UIControlEventTouchUpInside];

2.在 Button 的點擊事件當(dāng)中直接通過屬性取值

- (void)didTouchBtn:(UIButton*)sender{

  JLButtonModel *model = (JLButtonModel*)sender.model;

}

歡迎關(guān)注公眾號來分享知識


iOS技術(shù)公眾號320.jpeg
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,658評論 1 32
  • 1 CALayer IOS SDK詳解之CALayer(一) http://doc.okbase.net/Hell...
    Kevin_Junbaozi閱讀 5,337評論 3 23
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,334評論 0 17
  • 2017.02.22 可以練習(xí),每當(dāng)這個時候,腦袋就犯困,我這腦袋真是神奇呀,一說讓你做事情,你就犯困,你可不要太...
    Carden閱讀 1,490評論 0 1
  • 下雨天,讓人很是輕松,但是又有莫名其妙的惆悵,我不知道這是一種什么樣的感覺?趁著今天下班還算早,我撥通爸爸的電...
    辣筆小欣閱讀 203評論 1 1

友情鏈接更多精彩內(nèi)容