最近最近在忙于公司的项目研发学习iOS的进度比较慢了,但是还是坚持自己学习了一下foundation的基本学习语法拿来和大家一起分享学习。每天都到深夜在休息明天还要上班身体真心累,但是我始终相信好事多磨。这里面介绍了数组的可变,不可变查找数组中的一个元素,最后一个元素,和你制定的元素,还有遍历数组。

//  main.m

//  Arrary

//

//  Created by 张义航 on 14/11/21.

//  Copyright (c) 2014年 zyh. All rights reserved.

//

#import <Foundation/Foundation.h>

#import "Student.h"

//创建一个数组

void arrayCreate(){

NSArray *array = [NSArray array];

array = [NSArray arrayWithObject:@"123"];

array = [NSArray arrayWithObjects:@"a",@"b",@"c", nil];

unsigned int count= [array count];

NSLog(@"%zi",count);

}

#pragma maker 数组的简单实用

void arrayUse(){

NSObject *obj = [[NSObject alloc] init];

NSArray *array1 = [NSArray arrayWithObjects:@"a",@"b",@"c",obj, nil];

if ([array1 containsObject:@"a"]) {

NSLog(@"ok");

}

NSString *last = [array1 lastObject];

NSLog(@"%@",last);

NSString *str = [array1 objectAtIndex:1];

NSLog(@"%@",str);

unsigned  int index = [array1 indexOfObject:@"b"];

NSLog(@"%zi",index);

}

void arrayMemory(){

Student *stu1 = [[Student alloc] init];

Student *stu2= [[Student alloc] init];

Student *stu3 = [[Student alloc] init];

NSArray *array = [[NSArray alloc] initWithObjects:stu1,stu2,stu3, nil];

NSLog(@"%zi",array.count);

}

void arrayMessage(){

Student *stu1 = [Student student];

Student *stu2 = [Student student];

Student *stu3 = [Student student];

NSArray *array = [NSArray arrayWithObjects:stu1,stu2,stu3, nil];

[array makeObjectsPerformSelector:@selector(test)];

}

void arrayFor(){

NSArray *array = [NSArray arrayWithObjects:@"1",@"2",@"2", nil];

//for循环遍历

//    int count =array.count;

//    for (int i = 0; i<count; i++) {

//        id obj = [array objectAtIndex:i];

//        NSLog(@"%i---%@",i,obj);

//    }

//快速遍历

//    int i=0;

//    for (id obj in array) {

//         NSLog(@"%i---%@",i,obj);

//        i++;

//    }

//#pragma - maker block学习

//    [array enumerateObjectsUsingBlock:

//     ^(id obj, NSUInteger idx, BOOL *stop) {

//         NSLog(@"%i---%@",idx,obj);

//     }];

//

//迭代器的使用

//正排序

NSEnumerator *enu = [array objectEnumerator];

//反排序

NSEnumerator *enu1 = [array reverseObjectEnumerator];

id obj = nil;

while (obj = [enu1 nextObject]) {

NSLog(@"%@",obj);

}

}

int main(int argc, const char * argv[]) {

@autoreleasepool {

arrayCreate();

arrayUse();

arrayMessage();

arrayFor();

}

return 0;

}

转载于:https://www.cnblogs.com/mylance/p/4114452.html

foundation 数组NSArray学习相关推荐

  1. Object-C,数组NSArray

    晚上回来,写了2个iOS应用程序. 就是在界面中,展示标签.一种是手动构造界面,然后绑定事件.另外一种是,使用自带的界面作为容器,但是手动向里面放其它界面元素. 书中的观点是,使用图形化界面,构造界面 ...

  2. NSArray 学习

    // // NSSArrayStu.m // OC基础学习 // // Created by 麦子 on 15/4/2. // Copyright (c) 2015年 麦子. All rights r ...

  3. 微信小程序js数组初始化_微信小程序学习Course 3-2 JS数组对象学习

    微信小程序学习Course 3-2 JS数组对象学习 本节主要介绍JS中的数组. 3-2.1 数组的声明 数组声明的方式多种,如下例.一般我们可以先创建一个空数组,然后再填充. var names = ...

  4. JavaScript数组方法学习(一):数组元素的增加和删除

    JavaScript数组方法学习(一):数组元素的增加和删除 文章目录 JavaScript数组方法学习(一):数组元素的增加和删除 前言 一.往数组里新增元素 1.在数组的最前面添加:unshift ...

  5. Foundation框架 - NSArray类 、NSMutableArray类

    NSArray类 .NSMutableArray类 数组创建 NSLog(@"*************************** 数组创建 *********************** ...

  6. 后缀数组的学习(三):SA数组实现代码分析

    在前面的博文里面分析了SA数组和rank数组的实现过程,实际上也就是倍增算法的思想分析!虽然思想上面懂了,但是代码实现还是很难理解的!因为代码里面做了太多的优化. 整个代码的实现可以分成两部分:1.对 ...

  7. c语言不定长数组_学习C语言这三块“硬骨头”不搞定学了也是白学

    C语: C语言在嵌入式学习中是必备的知识,审核大部分操作都要围绕C语言进行,而其中有三块"难啃的硬骨头"几乎是公认级别的. 01指针 C语言 指针公认最难理解的概念,也是让很多初学 ...

  8. 1010 Lehmer Code (35 分)(思路+详解+树状数组的学习+逆序对+map+vector) 超级详细 Come baby!!!

    一:题目 According to Wikipedia: "In mathematics and in particular in combinatorics, the Lehmer cod ...

  9. 后缀数组的学习(一):学习的预备知识

    去年的时候弄了一阵子的后缀数组,当时一直都没有弄懂!今年再看后缀数组,似懂非懂!其实还是没懂!但比去年的完全不懂,还是有进步的! 下来把思路理了理,要看明白后缀数组,是需要一些知识储备的! 1.基数排 ...

最新文章

  1. 1.2W 字的 SQL 语法速成手册
  2. MongoDb 安全配置
  3. Caffe代码导读(0):路线图
  4. LibSVM学习(六)——easy.py和grid.py的使用(转)
  5. android activity 回调函数,Android Activity的生命周期
  6. 15 FFT及其框图实现
  7. 传奇服务端各文件用途说明
  8. SQL Server 和 Oracle 的常用函数对比
  9. 中国大学MOOC-数据结构基础习题集、08-1、Talent and Virtue
  10. 代码修改以及公式推导
  11. 141.环形链表(力扣leetcode)博主可答疑该问题
  12. 详细讲解深层神经网络DNN
  13. iOS蓝牙开发(三)实现外设功能
  14. 机器人视觉手眼标定学习笔记
  15. Linux 命令之 gzip -- 压缩和解压文件
  16. STM32f4日记9之LD3320语音识别(您的私人语音助手MICRO)
  17. html页面去边框线,html中怎么去掉表格边框线的?
  18. 交互电子白板有哪些特点?电子白板功能介绍
  19. TC358779XBG,HDMI转MIPI DSI,支持全高清,东芝转接芯片
  20. nodejs+libreoffice 将word转成pdf

热门文章

  1. linux 黑酷命令行背景图片
  2. c语言从键盘输入数据数组,//从键盘上输入若干整数,并将其存入数组中,并统计输入数据的个...
  3. unity太空射击源码_引擎入门 | 创建双杆射击游戏(入门 2)
  4. Ubuntu 18.04 Server必须使用netplan命令配置IP地址
  5. Services in Kubernetes
  6. 基于UCenter关联第三方网站与Discuz用户
  7. C#音视频处理开源项目收录
  8. php mysql delete_php教程之PHP MySQL Delete
  9. MapReduce on Yarn 的流程和架构图
  10. 放置奇兵公会副本攻略_放置奇兵维萨配什么魔兽,放置奇兵装备怎么获得-放置奇兵攻略...