Roc*_*ker 20 iphone objective-c
我听说延迟加载技术对提高程序性能非常有帮助.我正在为iPhone开发游戏.我不确定如何在目标C中应用延迟加载.有人能告诉我这个例子吗?
提前致谢
Adr*_*ski 29
延迟加载的一般模式总是或多或少相同:
- (Whatever *)instance
{
if (_ivar == nil)
{
_ivar = [[Whatever alloc] init];
}
return _ivar;
}
Run Code Online (Sandbox Code Playgroud)
以下是Core Data模板中延迟加载的示例:
- (NSManagedObjectModel *)managedObjectModel
{
if (managedObjectModel != nil) {
return managedObjectModel;
}
managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
return managedObjectModel;
}
Run Code Online (Sandbox Code Playgroud)
第一次managedObjectModel
被要求时,它是由代码创建的.在此之后的任何时间,它已经存在(!= nil
)并且刚刚返回.这是延迟加载的一个例子.还有其他类型,例如延迟加载NIB文件(仅在需要时将它们加载到内存中).
归档时间: |
|
查看次数: |
12430 次 |
最近记录: |