//

//  main.m

//  Array

//

//  Created by facial on 23/8/15.

//  Copyright (c) 2015 facial_huo. All rights reserved.

//

#import <Foundation/Foundation.h>

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

@autoreleasepool {

// insert code here...

NSLog(@"Hello, World!");

//初始化一个不可变数组

NSArray *arry = [NSArray arrayWithObjects:@"one one", @"two", @"three", nil ];

NSLog(@"%@", arry);

//打印数组方法

//枚举器法

NSEnumerator * Enumes = [arry objectEnumerator];

id obj;

while (obj = [Enumes nextObject]) {

NSLog(@"%@", obj);

}

//快速枚举法

for(id obj in arry) {

NSLog(@"%@", obj);

}

//使用i值遍历

NSUInteger length = [arry count];

NSLog(@"%li", length);

for(int i = 0; i < length; i ++) {

NSLog(@"%@", [arry objectAtIndex: i]);

}

//不可变数组 NSMutableArray

//NSMutableArray *mutableArray = [NSMutableArray arrayWithObjects: @"a", @"b", @"c", nil];

NSMutableArray *mutableArray = [NSMutableArray new];

// 增加元素

[mutableArray addObject: @"dog"];

[mutableArray addObject: @"cat"];

[mutableArray addObject: @"snake"];

NSLog(@"%@", mutableArray);

//删除元素, 如果有两个相同的元素, 这个操作会两个同时删除

[mutableArray removeObject: @"dog"];

//根据index去删除元素

[mutableArray removeObjectAtIndex: 1 ];

NSLog(@"%@", mutableArray);

//new mutable arry

NSMutableArray *colorArray = [NSMutableArray new];

[colorArray addObject:@"red"];

[colorArray addObject:@"yellow"];

[colorArray addObject:@"green"];

[colorArray addObject:@"black"];

//交换元素位置

// [colorArray exchangeObjectAtIndex:0 withObjectAtIndex:1 ];

//用枚举法的时候, 只能够在数组倒叙的情况下修改数组

NSEnumerator *enumeArray  = [colorArray reverseObjectEnumerator];

NSString *str;

while (str = [enumeArray nextObject]) {

NSLog(@"%@", str);

}

// 字符串转化为数组

NSString *Str = @"Hi i am facial";

//把字符串变成数组, 使用componentsSeparatedByString

NSArray *testarry = [Str componentsSeparatedByString: @" "];

NSEnumerator * StrEnumer = [testarry reverseObjectEnumerator];

NSMutableArray * ReverseArray = [NSMutableArray new];

NSString *str_temp;

while (str_temp = [StrEnumer nextObject]) {

[ReverseArray addObject: str_temp];

}

//把数组变成字符串, 使用componentsJoinedByString

NSString *newStr = [ReverseArray componentsJoinedByString: @" "];

NSLog(@"%@", newStr);

}

return 0;

}

Object -C 数组 -- 笔记的更多相关文章

  1. Object C学习笔记24-关键字总结

    学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1.  #import #import <> 从syste ...

  2. Object C学习笔记22-#define 用法

    上一篇讲到了typedef 关键字的使用,可以参考文章 Object C 学习笔记--typedef用法 .而在c中还有另外一个很重要的关键字#define. 一. #define 简介 在C中利用预 ...

  3. Object C学习笔记21-typedef用法

    在上一章的学习过程中遇到了一个关键字typedef,这个关键字是C语言中的关键字,因为Object C是C的扩展同样也是支持typedef的. 一. 基本作用 typedef是C中的关键字,它的主要作 ...

  4. Object C学习笔记18-SEL,@ selector,Class,@class

    本章是对上一章<<Object C学习笔记17-动态判断和选择器>>的一点补充,所以比较简单点. 一. SEL 类型 在上一篇介绍了几个方法,都只是介绍了其使用方式但是没有具体 ...

  5. Object C学习笔记17-动态判断和选择器

    当时学习Object C的时被人鄙视了一顿,说使用.NET的思想来学Object C就是狗屎:不过也挺感谢这位仁兄的,这让我学习的时候更加的谨慎.今天的学习笔记主要记录Object C中的动态类型相关 ...

  6. 第二十九节:Java基础知识-类,多态,Object,数组和字符串

    前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...

  7. Object C学习笔记10-静态方法和静态属性

    在.NET中我们静态使用的关键字static有着举足轻重的作用,static 方法可以不用实例化类实例就可以直接调用,static 属性也是如此.在Object C中也存在static关键字,今天的学 ...

  8. Object C学习笔记24-关键字总结(转)

    学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1.  #import #import <> 从syste ...

  9. PHP简单 对象(object) 与 数组(array) 的转换

    数组是PHP的灵魂,非常强大,但有时候面向对象编程也是挺方便的,数组 与 对象 之间切换也是常有的事: /** * 数组 转 对象 * * @param array $arr 数组 * @return ...

随机推荐

  1. grunt插件[font-spider] : 转码,压缩字体 @font-face

    字蛛插件:压缩与转码静态页面中的 WebFont 需要注意的是,目前只支持 grunt@0.4.1 package.json { "name": "fontS" ...

  2. 对require.js 的使用进行总结

    一.为什么要使用require.js 首先一个页面如果在加载多个js文件的时候,浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长:其次,由于js文件之间存在依赖关系,因此必须严格保证加载 ...

  3. (Error) The type AESKeyGenerator is not accessible due to restriction on required library.

    error for 'Access restriction: The type AESKeyGenerator is not accessible due to restriction on requ ...

  4. 编译安装php时提示Cannot find MySQL header files的解决方法

    php的配置文件中有一行--with-mysql=/usr/local/mysql ,安装的时候提示:configure: error: Cannot find MySQL header files ...

  5. 更新Xcode7 后 .dylib变成了.tbd的问题解决

    拿添加libsqlite3.dylib为例 1.打开你添加的libsqlite3.tbd 文本文件,然后有一行 install-name:    /usr/lib/libsqlite3.dylib   ...

  6. wpf 控件复制 克隆

    方法1: string xaml = System.Windows.Markup.XamlWriter.Save(rtb1); RichTextBox rtb2 =System.Windows.Mar ...

  7. IDEA中添加各种依赖pom.xml文件内容

    刚实习的小白,今天准备进入项目,纳尼,前辈把框架什么的都搭建好了,默默的抹了一把辛酸泪,刚刚接触自学框架的时候,添加依赖的时候总是各种问题,让前辈发给我之后,才发现人家写的代码相当优美了.下面就是前辈 ...

  8. 谈谈IT人的发展[转载]

    一个人如果能确定他喜欢的行业,他一生都会非常幸福.   相反,则往往痛苦,也许竟然会因此成为一个哲学家也说不定. 中国的贫穷决定了我们当中的大多数人不能根据自己的爱好来选择职业,而只是因为生活所迫,或 ...

  9. 你真的了解console吗?

    对于前端开发者来说,在开发过程中需要监控某些表达式或变量的值的时候,用 debugger 会显得过于笨重,取而代之则是会将值输出到控制台上方便调试.最常用的语句就是console.log(expres ...

  10. js 求两个日期之间相差天数

    //求两个日期之间的相差天数 function daysBetween(DateOne, DateTwo) { var OneMonth = DateOne.substring(5, DateOne. ...