OBJ-C NSArray + NSDictionary学习笔记

=========================================================================NSArray + NSDictionary=========================================================================NSArray的基本介绍1.只能
摘要由CSDN通过智能技术生成
=========================================================================
NSArray + NSDictionary
=========================================================================


NSArray的基本介绍


1.只能存放任意OC对象,并且是有顺序的;


2.不能存储非OC对象,比如int/float/double/char/enum/struct等;


3.它是不可变的,一旦初始化完毕后,它里面的内容就永远是固定的,不能删除里面的元素,也不能再往里面添加元素;(??)


-----------------------------------------------------


NSArray的类方法创建


+ (instancetype)array;
+ (instancetype)arrayWithObject:(id)anObject;
+ (instancetype)arrayWithObjects:(id)firstObj, ...   //重点掌握
+ (instancetype)arrayWithArray:(NSArray *)array;
+ (NSArray *)arrayWithContentsOfFile:(NSString *)path;  
+ (NSArray *)arrayWithContentsOfURL:(NSURL *)url;       




其中nil表示数组赋值结束;如果就是想存一个空对象在中间的话,应这样写: [NSNull null]


-----------------------------------------------------------


NSArray中一些常用的操作
1.  arr.count ----- 求数组中元素个数,即数组长度,不包含nil;
2.  [arr objectAtIndex:1]----根据下标,获取下标对应的对象;
3.  [arr indexOfObject:@"one"]-----返回元素下标;
4.  [arr containsObject:@"one"]-------判断数组中是否包含某元素


-----------------------------------------------------------


简化的方式定义和访问数组


格式:@[数组元素];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
typedef struct { int *base; int front; int rear; int num,size; } MyCircularQueue; MyCircularQueue* myCircularQueueCreate(int k) { MyCircularQueue *obj=(MyCircularQueue*)malloc(sizeof(MyCircularQueue)); if(!obj) return NULL; obj->base=(int*)malloc(k*sizeof(int)); obj->front=obj->rear=0; obj->num=0; obj->size=k; return obj; } bool myCircularQueueIsEmpty(MyCircularQueue* obj); bool myCircularQueueIsFull(MyCircularQueue* obj); bool myCircularQueueEnQueue(MyCircularQueue* obj, int value) { if(myCircularQueueIsFull(obj)) return false; obj->rear=(obj->rear+1)%obj->size; obj->base[obj->rear]=value; obj->num++; if(obj->num==1) obj->front=obj->rear; return true; } bool myCircularQueueDeQueue(MyCircularQueue* obj) { if(myCircularQueueIsEmpty(obj)) return false; obj->base[obj->front]=-1; obj->front=(obj->front+1)%obj->size; obj->num--; return true; } int myCircularQueueFront(MyCircularQueue* obj) { if(myCircularQueueIsEmpty(obj)) return -1; else return obj->base[obj->front]; } int myCircularQueueRear(MyCircularQueue* obj) { if(myCircularQueueIsEmpty(obj)) return -1; else return obj->base[obj->rear]; } bool myCircularQueueIsEmpty(MyCircularQueue* obj) { return(obj->num==0); } bool myCircularQueueIsFull(MyCircularQueue* obj) { return(obj->num==obj->size); } void myCircularQueueFree(MyCircularQueue* obj) { free(obj->base); obj->base=NULL; free(obj); obj=NULL; } /** * Your MyCircularQueue struct will be instantiated and called as such: * MyCircularQueue* obj = myCircularQueueCreate(k); * bool param_1 = myCircularQueueEnQueue(obj, value); * bool param_2 = myCircularQueueDeQueue(obj); * int param_3 = myCircularQueueFront(obj); * int param_4 = myCircularQueueRear(obj); * bool param_5 = myCircularQueueIsEmpty(obj); * bool param_6 = myCircularQueueIsFull(obj); * myCircularQueueFree(obj); */
最新发布
07-13

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值