iOS-宏定义

1.NSlog  发布后不打印

#ifdef DEBUG// 如果有DEBUG这个宏就编译下面一句代码

#define DDLog(...) NSLog(__VA_ARGS__)

#else // 如果没有DEBUG这个宏就编译下面一句代码

#define DDLog(...)

#endif

2.三方库及其他整理

1.​AFNetworking   HTTP 网络请求库  

2.​SDWebImage 图片缓存

3.​MBProgressHUD 加载中展示

4.MMDrawerController​ 抽屉视图(自己也可以模仿再重写)​

5.​FMDB  sqlite

6.MJRefresh​   tableview 下拉刷新上拉加载

7.SBJSON​   json解析

8.MJExtension​    模型转换

9.环信sdk集合

10.高德地图的使用

11.Reveal调试ui;

12.Base64,MD5,RSA加密框架

13.ZBar二维码扫描框架

 

1.JSPatch js脚本更新线上代码(应急用)

2.WebViewJavascriptBridge​ 实现OC与JS交互

3.SVPullToRefresh​  scrollview 上加下拉刷新

4.Masonry/SnapKit     自适应布局 (类安卓的相对布局,由于本人1年安卓2年iOS 用起来挺顺手)

5.​AFPopupView  实现炫酷的跳转

6.​AwesomeMenu 实现炫酷工具栏效果

7.MJPhotoBrowser​   实现图片浏览效果,有个导致crash的bug,之后会更

8.  ZXingObjC   二维码 

9.MKNetworkKit​ 轻量级HTTP 网络请求库

10.jpush   推送 ;极光推送;百度推送;本地推送;鸽子推送;原生网络推送。

11.alipay  支付宝支付

12.微信支付

13.友盟  分享、三方登陆、推送、数据记录、crash记录

14.iCarousel​  实现Coverflow效果。

15.SDCycleScrollView  无限轮播器

16.SQLCipher加密数据库并进行封装

17.原生地图;百度地图;百度导航。

18.Multipeer connectivity近场通信框架;

聊天即时通讯的第三方:

环信;融云;即时通讯云;容联接口;xmpp


1、为什么在UIViewController内设置了self.navigationItem.backBarButtonItem 对于导航栏显示的backBarButtonItem不起任何作用?首先我们得了解一下

backBarButtonItem

leftBarButtonItem

rightBarButtonItem

 他们都属于UINavigationItem的组成部分,都显示在navigationBar上,都属于UIBarButtonItem类

 backBarButtonItem和另外两兄弟是有区别的

比如当前有AController准备push到BController,设置backBarButtonItem的title和image需要在AController内设置,在调用AController Push:B之前进行设置,AController.navigationItem.backBarButtonItem = ....

 而其他两兄弟则是在BController的ViewDidload后设置均可.

 宏定义:
#define kDevice_Is_iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
#define kDevice_Is_iPhone6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) : NO)
#define kDevice_Is_iPhone6Plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2208), [[UIScreen mainScreen] currentMode].size) : NO)
 
2 const unsigned char怎样转成const char、NSData或NSString的一种?
 char 转成 string:
NSString *TempString;
char mychar[100];
mystring=[NSString stringWithFormat:@"%s",mychar];
 
char[]转NSString有更简单的方法,NSString类方法:
+ (id)stringWithUTF8String:(const char *)bytes。
 
3 如何把字符串转换成变量名?
 NSStringFromClass
4 关于宏定义
//关于颜色  >> 位移
&0xFF      依次的取出16位的RGB值,也就是最大255 hex color的设置

#define HEXCOLOR(c) [UIColor colorWithRed:((c>>24)&0xFF)/255.0 green:((c>>16)&0xFF)/255.0 blue:((c>>8)&0xFF)/255.0 alpha:((c)&0xFF)/255.0]

#define        COLOR_OUTGOING                        HEXCOLOR(0x007AFFFF)
#define        COLOR_INCOMING                        HEXCOLOR(0xE6E5EAFF)
//关于NSLog
#ifdef BEBUG
#define Log(...) NSLog(__VA_ARGS__)
#else
#define Log(..)
#endif

//没有时间整理,后续再整理。
5 //一段代码放到主线程执行
#define MAIN_QUEUE(...) dispatch_async(dispatch_get_main_queue(),^{\ _ _VA_ARGS_  _;\
 
});
 
 

转载于:https://www.cnblogs.com/linxiu-0925/p/4988095.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值