[問題] 關於Category中的Variable

看板MacDev作者 (JohnnyChian)時間11年前 (2014/04/23 12:36), 11年前編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
大家好,想問個似乎比較關於Objective-C本身的問題, 最近在用Category來擴增UIScrollView的功能,當然少不了一些Variable 例:@property (nonatomic ,strong) UILabel *label; 當我想使用這個label的時候,便會出現Unrecognized Selector sent to instance的錯 誤。 在Stackoverlow找了一下解法,發現要用AssociatedObject:http://ppt.cc/5-vz 問題解決了,但是還是不太懂~為什麼不能直接呼叫Instance來用? 有高手可以為小弟解答一下嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.110.106 ※ 文章網址: http://www.ptt.cc/bbs/MacDev/M.1398227818.A.982.html

04/23 13:25, , 1F
因為 category 不能宣告 instance variable, 而 property
04/23 13:25, 1F

04/23 13:25, , 2F
宣告會隱性產生一個 instance variable
04/23 13:25, 2F

04/23 15:50, , 3F
事實上也不會隱性產生instane variable
04/23 15:50, 3F

04/23 15:50, , 4F
the compiler won’t synthesize any instance variable
04/23 15:50, 4F

04/23 15:51, , 5F
請參考官方文件 http://0rz.tw/AfzTl
04/23 15:51, 5F

04/23 16:23, , 6F
那要用 weak(或者不寫, 這是預設)才行
04/23 16:23, 6F
感謝各位大大回答 抱歉現在才回復 之前有一位大大另開一篇文章回我 怎麼刪掉了咧...orz... ※ 編輯: kiii210 (1.34.110.106), 05/08/2014 16:10:00
文章代碼(AID): #1JLqDgc2 (MacDev)
文章代碼(AID): #1JLqDgc2 (MacDev)