Я слышал ленивый метод загрузки, довольно полезный для увеличения производительности программы. Я разрабатываю игры для iPhone. Я не уверен, как путь состоит в том, чтобы применить ленивую загрузку в цели C. Кто-либо мог показать мне пример?
Заранее спасибо
Общий шаблон для отложенной загрузки всегда более или менее одинаков:
- (Whatever *)instance
{
if (_ivar == nil)
{
_ivar = [[Whatever alloc] init];
}
return _ivar;
}
Вот пример отложенной загрузки из шаблона Core Data:
- (NSManagedObjectModel *)managedObjectModel
{
if (managedObjectModel != nil) {
return managedObjectModel;
}
managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
return managedObjectModel;
}
При первом запросе managedObjectModel
он создается кодом. В любое время после этого он уже существует (! = Nil
) и просто возвращается. Это один из примеров отложенной загрузки. Есть и другие виды, такие как отложенная загрузка файлов NIB (загрузка их в память только тогда, когда они нужны).