相关疑难解决方法(0)

iOS:将使用[UIImage -imageNamed:]而没有文件扩展名导致性能问题?

我有一个名为image@2x.png.的文件大小为1KB.我的应用程序是一个仅限iPhone的应用程序.

我通过此调用在我的应用中加载图像:

[UIImage imageNamed:@"image"];
Run Code Online (Sandbox Code Playgroud)

当使用分析I/O活动的I/O活动工具时,我发现有几个与此文件相关的活动导致"没有这样的文件或目录"错误,并且这些活动确实需要一些时间.

这些活动就像阅读这些文件:

image_2_only_@2x~iphone.png
image@2x~iphone.png
image@2x.png (this one doesn't fail)
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,每次失败的操作都需要比成功的操作更多的时间.

如何避免这种性能问题?

iphone performance uiimage ios

8
推荐指数
1
解决办法
3328
查看次数

Objective-C覆盖[NSObject初始化]是否安全?

基本上,我有以下代码(在此解释:协议中的Objective-C常量)

// MyProtocol.m
const NSString *MYPROTOCOL_SIZE;
const NSString *MYPROTOCOL_BOUNDS;

@implementation NSObject(initializeConstantVariables)

+(void) initialize {
     if (self == [NSObject class])
     {
         NSString **str = (NSString **)&MYPROTOCOL_SIZE;
         *str = [[MyClass someStringLoadedFromAFile] stringByAppendingString:@"size"];
         str = (NSString **)&MYPROTOCOL_BOUNDS;
         *str = [[MyClass someStringLoadedFromAFile] stringByAppendingString:@"bounds"];
     }
}

@end
Run Code Online (Sandbox Code Playgroud)

我想知道:有一个覆盖NSObject +initialize方法的类别对我来说安全吗?

initialization objective-c nsobject

5
推荐指数
1
解决办法
3095
查看次数