[問題] 關於iphone程式的問題

看板MacDev作者 (嗚啦啦)時間15年前 (2010/07/01 23:11), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/5 (看更多)
小弟最近遇到一個iphone程式的問題 我簡單描述一下情況 //===================================== 在a.h 和a.m 的檔案裡 有這個View的定義 @interface a : UIView { NSMutableDictionary *dic; } -(id)init; // 設定dic的object, // [dic setObject:xxx ...]; // object是NSNumber @property (retain, nonatomic) NSMutableDictionary *dic; @end ...(@implement忽略) //------------------------------------- 在b.h 和b.m 的檔案裡 有這個View的定義 @interface b : UIView { a *aView; } -(id)init; // 初始化method // method裡會寫aView = [[a alloc] init]; -(void)callAView; // 這裡會呼叫aView裡的dic // NSNumber *digit = [aView.dic forObjectKey:xxx]; @property (....略) @end ...(@implement忽略) //===================================== 我的情況是先call [b init]; //b裡面又會再call a的init設定dic的object then [b callAView]; 雖然在b.m,[b init]已經設定dic裡有什麼物件 但當我在a.m裡,用[a callAView]時 卻找不到dic裡面的物件!!! 怎麼會這樣呢? 請問要如何解決呢? 感謝大家的協助了! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: wudidog 來自: 123.193.76.190 (07/01 23:14) ※ 編輯: wudidog 來自: 123.193.76.190 (07/01 23:15)

07/02 00:16, , 1F
我想問題應該都出現在你(略)的地方裡頭
07/02 00:16, 1F

07/02 00:16, , 2F
你這樣寫,別人是沒辦法幫你看問題的
07/02 00:16, 2F
嗯… 因為檔案實在太大了 程式碼很多很多行 不知道該從何貼起 另外我也發現 我簡化掉一個關鍵 我有用[NSTimer scheduledtimerwithtimeinterval: 1 target:self selector:@selector(callAView) userInfo:nil repeats:YES]; 我測的結果是,callAView如果不是NSTimer呼叫的selector (註解NSTimer那行,只用[b callAView]) 可以正常取用dic內的物件 (這代表我的設定基本上沒問題沒錯,對吧!?) 但如果callAView是NSTimer呼叫的對象 (就是執行NSTimer) 那在裡面呼叫dic的物件 就會出現問題… 這真的很怪… 我之後還在@interface a 裡設定一個int 的變數 看能不能在callAView裡讀到 結果,可以正確讀到值 我真的搞不懂到底是怎麼回事… ※ 編輯: wudidog 來自: 123.193.76.190 (07/02 22:52)
文章代碼(AID): #1CBB0Yz- (MacDev)
文章代碼(AID): #1CBB0Yz- (MacDev)