美文网首页
iOS开发中常用的宏

iOS开发中常用的宏

作者: 冷酷的心 | 来源:发表于2017-03-01 12:44 被阅读0次

1,获取屏幕的大小,宽度和高度

#define SCREEN_SIZE ([UIScreen mainScreen].bounds.size)  // 大小
#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)  // 宽度
#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)  // 高度

用法:

 // 获取屏幕大小
CGSize sz = SCREEN_SIZE;
// 获取屏幕宽度
CGFloat width = SCREEN_WIDTH;
// 获取屏幕高度
CGFloat height = SCREEN_HEIGHT;

2,弱引用/强引用

#define WS(weakSelf)  __weak __typeof(&*self)weakSelf = self  // 弱引用
#define SS(strongSelf)  __strong __typeof(&*self)strongSelf = self  // 强引用

弱引用和强引用主要用在Block中,防止循环引用,导致内存无法释放。
用法:

// 弱引用
WS(ws);
block = ^(...){
  [ws doSomething];
};
// 强引用
block = ^(...){
  SS(ss);
  [ss doSomething];
};

3,单例

// 声明
#define SINGLETON_DCL   +(instancetype)sharedInstance
// 实现
#define SINGLETON_IMP   +(instancetype)sharedInstance { \
static id instance = nil; \
static dispatch_once_t onceToken; \
dispatch_once(&onceToken, ^{ \
instance = [[[self class] alloc] init]; \
}); \
return instance;}

用法:
在类的头文件中加入单例声明

@interface DataManager : NSObject
// 单例声明
SINGLETON_DCL;
@end

在类的实现文件中加入单例实现

@implementation DataManager
// 单例实现
SINGLETON_IMP;
@end

4,颜色

// 包含透明通道的颜色
#define RGBA(rgbaValue) [UIColor \
colorWithRed:((CGFloat)((rgbaValue & 0xFF000000) >> 24))/255.0 \
green:((CGFloat)((rgbaValue & 0xFF0000) >> 16))/255.0 \
blue:((CGFloat)((rgbaValue & 0xFF00) >> 8))/255.0 \
alpha:((CGFloat)(rgbaValue & 0xFF))/255.0]
// 不透明颜色
#define RGB(rgbValue) RGBA(rgbValue##FF)

用法:

// 定义不透明的红色
UIColor *redColor = RGB(0xFF0000);
// 定义半透明蓝色
UIColor *blueColor = RGBA(0x0000FF80);

相关文章

  • iOS开发中常用的宏

    以下为iOS开发中常用宏: 引用:ios开发常用的宏,大家一起来收集 参考:ios开发常用的宏,大家一起来收集~

  • iOS 开发小经验

    iOS 开发中你是否遇到这些经验问题(一)iOS 开发中你是否遇到这些经验问题(二)iOS 日常工作之常用宏定义大全

  • iOS开发中常用到的宏

    大家都是知道使用宏不仅方便,而且可以提高开发效率。下面总结了iOS开发过程中的一些常用宏。

  • iOS开发常用的工具类和宏定义

    iOS开发常用的工具类和宏定义 开发总结的工具类和宏 https://github.com/xiaoChen66...

  • iOS 常用宏定义

    iOS 开发中使用一些常用宏定义可以大大提高开发效率,提高代码的重用性.以下是一些常用的宏定义: 像这些宏定义,在...

  • iOS 开发常用宏

    大家都是知道使用宏不仅方便,而且可以提高开发效率。下面总结了iOS开发过程中的一些常用宏,会持续的往里面添加。 /...

  • iOS 开发中 runtime 常用的几种方法

    iOS 开发中 runtime 常用的几种方法 iOS 开发中 runtime 常用的几种方法

  • iOS开发常用宏,持续更新中

    大家都是知道使用宏不仅方便,而且可以提高开发效率。下面总结了iOS开发过程中的一些常用宏,会持续的往里面添加。 持...

  • IOS开发中 常用的宏定义

    #ifndef iOS_Constants_h #define iOS_Constants_h /* ******...

  • iOS常用宏 定义

    iOS开发过程中,使用的一些常用宏定义 字符串是否为空#define kStringIsEmpty(str) ([...

网友评论

      本文标题:iOS开发中常用的宏

      本文链接:https://www.haomeiwen.com/subject/yryqgttx.html