您好,欢迎来到花图问答。
搜索
您的当前位置:首页iOS开发技巧总结2016-01-08

iOS开发技巧总结2016-01-08

来源:花图问答
  • 用宏定义检测block是否可用!
#define BLOCK_EXEC(block, ...) if (block) { block(__VA_ARGS__); };    
 
// 宏定义之前的用法  
/* 
if (completionBlock)   
{   
    completionBlock(arg1, arg2);   
}   
  */  
 
// 宏定义之后的用法  
BLOCK_EXEC(completionBlock, arg1, arg2);
  • 给SDK头文件加权限

如果您是从DMG安装Xcode的,看看这个技术通过Joar Wingfors,以避免通过保留所有权,权限和硬链接意外修改SDK头:

$ sudo ditto /Volumes/Xcode/Xcode.app /Applications/Xcode.app
  • 使用ARC和不使用ARC
//使用ARC和不使用ARC
#if __has_feature(objc_arc)
//compiling with ARC
#else
// compiling without ARC
#endif
  • 读取本地图片
#define LOADIMAGE(file,ext)
 [UIImage imageWithContentsOfFile:
[NSBundle mainBundle]pathForResource:file 
ofType:ext]
 
//定义UIImage对象
#define IMAGE(A) [UIImage imageWithContentsOfFile:[NSBundle mainBundle] pathForResource:A ofType:nil]

  • iOS图片内存优化(博文)内存优化经验

解决步骤:instrument调试后,发现没被释放的全是imageIO,差不多就知道了,把读图的方式,从[UIImage imageNamed:@”“],改成imageWithContentsOfFile,就可以了。

问题原因:imageNamed读取图片的方法,会缓存在内存中,所以较大的图片,还是用imageWithContentsOfFile。?
Tip1:.xcassets里的图片无法用imageWithContentsOfFile读取;?
Tip2:imageWithContentsOfFile读取图片需要加文件后缀名如png,jpg等;

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务