У меня есть этот фрагмент из кода примера яблока «LazyTableImages». В приведенном ниже коде они инициализируют класс IconDownloader. Так что это за поведение.Какая инициализация называется так называемой концептуальной?
*************************This Line ******************************************
IconDownloader *iconDownloader = [imageDownloadsInProgress objectForKey:indexPath];
**************************************************************************
, а затем
if (iconDownloader == nil)
{
iconDownloader = [[IconDownloader alloc] init];
iconDownloader.CustomObject = CustomObject;
iconDownloader.indexPathInTableView = indexPath;
iconDownloader.delegate = self;
[imageDownloadsInProgress setObject:iconDownloader forKey:indexPath];
[iconDownloader startDownload];
[iconDownloader release];
}
и документы objectForKey говорит, что это:
objectForKey:
Возвращает значение, связанное с данным ключом.
- (id)objectForKey:(id)aKey
Parameters
aKey
The key for which to return the corresponding value.
Return Value
The value associated with aKey, or nil if no value is associated with aKey.
Availability
* Available in iPhone OS 2.0 and later.
Так я должен поверить, что они устанавливают эту линию
IconDownloader *iconDownloader = [imageDownloadsInProgress objectForKey:indexPath];
только для установки всухую значение в объекте.
В конечном счете, вопрос в том, что делает вышеуказанная линия?
благодаря
Непонятно, что вы просите, и форматирование еще более запутывает ваш вопрос. –
@nicolai Это нормально сейчас или все еще неоднозначно? – harshalb