首先我们知道在ios开发过程中很容易出现数组越界,以及将空值添加进数组的现象,在项目过程中为了避免此类现象发生写了如下宏定义
1、解决数组越界
1)#define
OBJECT_OF_ARRAY_ATINDEX(_OBJ_,_ARRAY_,_INDEX_) ({if(_ARRAY_ &&
_INDEX_<[_ARRAY_ count]){ _OBJ_ = [_ARRAY_ objectAtIndex:_INDEX_];}})
2)#define
OBJECT_OF_ATINDEX(_ARRAY_,_INDEX_)
((_ARRAY_)&&(_INDEX_<[_ARRAY_ count])?([_ARRAY_
objectAtIndex:_INDEX_]):(nil))
注释:1)无返回值,采取直接赋值的方式
2)有返回值
2、解决将控制加入数组造成宕机
#define ADD_OBJECTINTOARRAY_(_OBJ_,_ARRAY_) ( {if(_OBJ_){[_ARRAY_ addObject:_OBJ_];}})