关于对数组操作的宏定义

首先我们知道在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_];}})
posted @ 2012-11-27 15:37  爱笑的雷小豆  阅读(6745)  评论(0编辑  收藏  举报