Re: [問題] 用category加member (Associated refer …

看板MacDev作者 (zonble)時間13年前 (2011/03/26 03:18), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ 引述《kevwalker (2A3C好聲好好聽)》之銘言: : - (void)setUserData:(NSString *)string { : if (!objc_getAssociatedObject(self, &key)) { : UserData *data = [[UserData alloc] init]; : objc_setAssociatedObject(self, &key, data, OBJC_ASSOCIATION_RETAIN_NONATOMIC); : [data release]; : } : UserData *userdata = objc_getAssociatedObject(self, &key); : userdata.name = string; : } : 可以work,這麼做是ok的嗎? 看起來有個問題:你用 OBJC_ASSOCIATION_RETAIN.. 去設的話, 代表你的物件會把這個 UserData 物件 retain 一份,但是在 UIView release 的時候,如果你的 UserData 沒有 release,這樣會 leak。 : 還是有其它更好的方法? subclass -- zonble.net cocoa.zonble.net -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.187.233
文章代碼(AID): #1DZEg3kT (MacDev)