我得到這個代碼:無法從委託訪問用戶界面?
GrooveOnDownload *dlg = [[GrooveOnDownload alloc] init];
NSURLDownload *dw = [[NSURLDownload alloc] initWithRequest:request delegate:dlg];
它開始下載在委託類網點UI控件。但由於某些原因,控件不會響應來自代理的直接消息。
//Header of the delegate
@interface GrooveOnDownload : NSObject {
IBOutlet id downloadButton;
//...
//Implementation
//...
[downloadButton setEnabled:FALSE]; // Doesn't work
//...
任何想法?
這是我的Mac開發第四天,所以我不太瞭解這個平臺。
編輯: 2010-05-28 01:03:41.486 GrooveOnLite [3303:A0F]下載按鈕=(空)
編輯2:
alt text http://i47.tinypic.com/ermqdx.png
編輯3: 我想念Windows .....
編輯4 在Win32中,您向該按鈕發送一個窗口消息。一切都由WndProc循環處理。這是該死的簡單。在Mac中,你有這個神奇的界面生成器,以某種方式獲得所有的廢話工作。代表被一些魔術師召喚。其餘的課程由一些「神奇」力量聯繫起來。在windows中有一個功能,它是入口點。而已!沒有任何延遲的網點和這樣的狗屎。
該請求確實有效,它確實下載了該文件,但我無法從委託中訪問進度欄和按鈕。 – 2010-05-27 23:48:36
在調用'setEnabled:'的行上設置一個斷點。確保'downloadButton'實際上是一個按鈕對象的實例,就像您期望的一樣。 – 2010-05-28 00:00:30
你的截圖使得它看起來像事情設置正確。你確定在兩種情況下GrooveOnDownload對象都是相同的嗎?你的代碼示例使它看起來像你正在創建一個新的實例,它不會有這些連接。 – 2010-05-28 00:11:23