У меня есть следующий код:iPhone: ASIHTTP setDidFinishSelector вопрос
- (void)imageDownloaded:(ASIHTTPRequest *) request idPlace:(NSNumber *)idPlace
NSData *responseData = [request responseData];
if (responseData == nil) {
NSLog(@"bad");
}
}
И
NSURL *url = [NSURL URLWithString:[item objectForKey:@"image"]];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request setDidFinishSelector:[self performSelector:@selector(imageDownloaded:idPlace:)withObject:request withObject:place.idPlace]];
Но это не работает, потому что responseData равна нулю.
Я попробовал этот путь (с селектором только один аргумент):
[request setDidFinishSelector:@selector(imageDownloaded:)];
- (void)imageDownloaded:(ASIHTTPRequest *) request
И это работает. Но мне нужно знать idPlace, чтобы сохранить изображение с соответствующим именем, чтобы получить изображение позже.
Любая идея о том, как я могу это сделать? Поскольку селектор с двумя аргументами не работает, я не могу найти решение моего вопроса.
наконец я переопределить ASIHTTPRequest, чтобы добавить свойство с idPlace. Но также я попробовал ваш ответ, и он работает. Так что спасибо вам большое – xger86x
Предположим, вы также можете просто подклассифицировать ASIHTTPRequest, чтобы добавить свою собственную собственность. –
ASIHTTPRequest имеет свойство словаря пользовательской информации, к которому вы можете прикрепить материал. Вам не нужно фактически использовать связанные объекты или подкласс. – Ashemah