Я подозреваю, что у вас проблема с управлением памятью. Я могу ошибаться в этом, но я считаю, что даже:
NSURLConnection* connection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
не будет работать, потому что connection
будет освобожден в конце содержащего метод, когда connection
выйдет из области видимости. Убедитесь, что NSURLConnection *connection
и NSMutableData *data
объявлены как переменные-члены везде, где вы делаете это, и что вы alloc
и init
соответственно. Мой код обычно выглядит так:
NSURLRequest *request = [NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:30.0];
// cancel any old connection
if(connection) {
[connection cancel];
[connection release];
}
// create new connection and begin loading data
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
if(connection) {
// if the connection was created correctly, release old data (if any), and alloc new
[data release];
data = [[NSMutableData data] retain];
}
Также release
соединение и данные в dealloc
. Для правильного измерения, release
и установите их на nil
в самом конце didFailWithError
и didFinishLoading
:
[connection release];
connection = nil;
[data release];
data = nil;
Удачи; Я делал это миллион раз, дайте мне знать, если вы не можете заставить его работать.