常用的函数收集(实时更新)

目标:减少代码量&美化代码结构&清晰易懂

1.数组中两元素索引交换

//upButtons:NSArray
[ upButtons   exchangeObjectAtIndex :i  withObjectAtIndex :indexOfShakingButton];//索引对换函数  

2.数组中NSSTRING->NSARRAY, 

//
分割&拼装

opArray = [opStr componentsSeparatedByString:@","];//分割NSString *saveModuleInfo = [saveModuleArraycomponentsJoinedByString:@","]; //拼装 

 

3.常用IOS宏定义

a.首次启动判断:
 
#define First_Launched @"firstLaunch"
 

b.ios7系统判断:
 
#define IsIOS7 ([[[UIDevice currentDevice] systemVersion] floatValue] >=7.0 ? YES : NO)
 

c.判断是否Retina屏、是否IPhone5、是否IPad

#define isRetina ([UIScreen instancesRespondToSelector:

@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), 

[[UIScreen mainScreen] currentMode].size) : NO)
 

#define iPhone5 ([UIScreen instancesRespondToSelector:

@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), 

[[UIScreen mainScreen] currentMode].size) : NO)

#define isPad (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)


d.加载图片宏:

 #define LOADIMAGE(file,type) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:file ofType:type]]

 

e.rgb颜色转换(16进制->10进制)

#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0] 
 

f.设置颜色RGB

#define COLOR(R, G, B, A) 

[UIColor colorWithRed:R/255.0 green:G/255.0 blue:B/255.0 alpha:A] 

 

g.去除"-(id)performSelector:(SEL)aSelector withObject:(id)object;"的警告

#define SuppressPerformSelectorLeakWarning(Stuff) \

do { \

_Pragma("clang diagnostic push") \

_Pragma("clang diagnostic ignored \"-Warc-performSelector-leaks\"") \

Stuff; \

_Pragma("clang diagnostic pop") \

} while ( 0 )  


4.模拟数据库like 的本地操作(查找字条串中带字符的数据)

for (AppModel *app in marketModuleArray)

    {

        NSComparisonResult result = [app.displayName compare:searchText options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearchrange:NSMakeRange(0, [searchText length])];

        if (result == NSOrderedSame)

        {

            [filterList addObject:app];

        }

     }  

5.单独触发一个控件的方法。(可用于点击cell时触发上面的组件) 2014-08-12 记录:
[self performSelector:@selector(updateCheckState:) withObject:addressBookUserTableViewCell.ivCheck afterDelay:0.1f];//ivCheck是uiimageView
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值