Не уверен, почему ваша accessibilityLabel работает только на симуляторе, но в принятом ответе на этот вопрос можно найти более расширяемый подход: Управление несколькими асинхронными соединениями NSURLConnection
По сути, вы можете создать изменяемый CFDictionary с вашим соединением в качестве ключа и любым другим значением в качестве значения (в связанном ответе он использует объект полученныйData, но вы можете использовать все, что захотите).
Таким образом, чтобы адаптировать его решение для вашей ситуации, вы можете сделать что-то вроде этого:
Перед созданием ваших запросов:
connectionToInfoMapping =
CFDictionaryCreateMutable(
kCFAllocatorDefault,
0,
&kCFTypeDictionaryKeyCallBacks,
&kCFTypeDictionaryValueCallBacks);
После создания каждого соединения:
CFDictionaryAddValue(
connectionToInfoMapping,
connection,
[NSMutableDictionary
dictionaryWithObject:@"someName"
forKey:@"connectionName"]);
Тогда в вашем connectionDidFinishLoading:
методе:
-(void) connectionDidFinishLoading:(NSURLConnection *) connection
{
NSMutableDictionary *connectionInfo = CFDictionaryGetValue(connectionToInfoMapping, connection);
NSString *connectionName = (NSString *)[connectionInfo objectForKey:@"connectionName"];
if ([connectionName isEqualToString:@"connectionA"]) {
//Do something
}
}
Вышесказанное можно легко расширить, чтобы иметь несколько свойств, сопоставленных соединением (просто добавьте больше ключей и значений в NSMutableDictionary, который вы добавляете в CFDictionary).