你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> UIButton 傳遞多個參數的方法 —–使用關聯函數

UIButton 傳遞多個參數的方法 —–使用關聯函數

編輯:關於IOS
通過btn傳遞兩個實例對象  firstObject和secondObject
<code>UIButton *btn = // create the button
objc_setAssociatedObject(btn, "firstObject", someObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
objc_setAssociatedObject(btn, "secondObject", otherObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
[btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];

- (void)click:(UIButton *)sender
{
    id first = objc_getAssociatedObject(btn, "firstObject");
    id second = objc_setAssociatedObject(btn, "secondObject");
    // etc.
}</code>
向以上方法那樣,只要設置了關聯,當把button傳遞給@selector的參數時,也順便把另外兩個參數也傳遞過去了。就類似設了button的兩個屬性,但是這種方法簡單多了
<code>第一步: 設定關聯</code>
<code>objc_setAssociatedObject(btn, "firstObject", someObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC);</code>
<code>第一個參數:btn為被關聯者(主體),第二個參數:</code>firstObject為指向關聯的對象的指針(一般為一個static字符串),第三個參數:關聯的對象實例,第四個對象:關聯的方式(有幾種,類似設定.h文件屬性時候的 assign,retain等)
第二步:得到關聯的對象
<code>    id first = objc_getAssociatedObject(btn, "firstObject");
</code>
<code>第一個參數:為被關聯者</code>
<code>第二個參數:為關聯對象的指針。</code>
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved