我是一個新手都Iphone dev和obj c。我試圖在加載視圖時調用Web服務,並在從Web服務檢索結果所需的時間內顯示活動指示器。iphone開發控制null後ViewDidLoad
我的問題是,一旦ViewDidLoad
完成,我的activityindicator
和標籤變爲空。因此,在Web服務調用之後,我無法操作任何控件。
我不明白爲什麼會發生這種情況;顯然這是我對基礎知識的缺乏理解。我在這方面做了一些功課,但我還沒有到達任何地方。如果有人能夠解釋爲什麼控制器在viewdidload
完成後變爲空,那將會非常有幫助。
更新:謝謝你的答案。在viewdidload
上,我正在執行以下操作,我正在爲活動指示器設置動畫並將一些值分配給我的textview
。然後我打電話給一個網絡服務。調試代碼,我意識到一旦viewdidload
完成,-(void) connection: (NSURLConnection *) connection didReceiveResponse:(NSURLResponse *)
被調用,我的文本視圖/活動指示器就會爲空。
(void)viewDidLoad {
[activityindicator startAnimating];
if(myarray != NULL) {
myuitextview.text = @""; // displaying some values from array
@try{
// call web service
} @catch (NSException *ns) {
}
}
}
你可以發佈一些代碼,所以我們知道你有什麼?您需要閱讀有關引用計數和內存分配的信息。聽起來這些控件已經被分配,因爲它們的保留數量達到了零。 – 2011-04-21 06:14:36