我在()數據被使用之前釋放與ASIHTTPRequest異步模式
NSURL *url = [NSURL URLWithString:@"http://somewebsite.com/data.txt"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request startAsynchronous];
)從我的viewDidLoad中調用的函數這是我requestFinished(在那裏我做了一些文本替換和填充使用ASIHTTPRequest異步模式一個NSArray與我從網站收到的數據。這只是文本,每行一個數據項。 viedDidLoad()中的NSArray(和alloc/init)。
- (void)requestFinished:(ASIHTTPRequest *)request
{
NSString *sTemp = [request responseString];
sTemp = [sTemp stringByReplacingOccurrencesOfString:@"\n" withString:@","];
arrayTidalData = [sTemp componentsSeparatedByString:@","];
NSLog(@"Loaded %d items into the array",[arrayTidalData count]);
[tableTideTimes reloadData];
}
NSLog報告127個數據項目。
現在,我使用NSArray數據填充UITableView。 但是,在的cellForRowAtIndexPath()當我嘗試做一個計數訪問的NSArray(arrayTidalData),例如,我得到如下:
TideTimes [14696:B303] * - [__ NSArrayM計數]:消息發送到釋放實例0x4e6c6a0
(我打開NSZOMBIEEnabled = YES得到這個數據)
看來NSArray的已釋放之前,我可以使用它。我也嘗試用requestFinish()中的數據填充NSString,但獲得了相同的結果。
我錯過了一些非常簡單的東西,還是我在做一些非常錯誤的事情?
(這是我第一次與ASIHTTPRequest)
謝謝,我沒有想過添加保留。 太棒了! – FiddleMeRagged
不客氣。 – Nekto