Object -C 数组 -- 笔记
//
// 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 数组 -- 笔记的更多相关文章
- Object C学习笔记24-关键字总结
学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1. #import #import <> 从syste ...
- Object C学习笔记22-#define 用法
上一篇讲到了typedef 关键字的使用,可以参考文章 Object C 学习笔记--typedef用法 .而在c中还有另外一个很重要的关键字#define. 一. #define 简介 在C中利用预 ...
- Object C学习笔记21-typedef用法
在上一章的学习过程中遇到了一个关键字typedef,这个关键字是C语言中的关键字,因为Object C是C的扩展同样也是支持typedef的. 一. 基本作用 typedef是C中的关键字,它的主要作 ...
- Object C学习笔记18-SEL,@ selector,Class,@class
本章是对上一章<<Object C学习笔记17-动态判断和选择器>>的一点补充,所以比较简单点. 一. SEL 类型 在上一篇介绍了几个方法,都只是介绍了其使用方式但是没有具体 ...
- Object C学习笔记17-动态判断和选择器
当时学习Object C的时被人鄙视了一顿,说使用.NET的思想来学Object C就是狗屎:不过也挺感谢这位仁兄的,这让我学习的时候更加的谨慎.今天的学习笔记主要记录Object C中的动态类型相关 ...
- 第二十九节:Java基础知识-类,多态,Object,数组和字符串
前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...
- Object C学习笔记10-静态方法和静态属性
在.NET中我们静态使用的关键字static有着举足轻重的作用,static 方法可以不用实例化类实例就可以直接调用,static 属性也是如此.在Object C中也存在static关键字,今天的学 ...
- Object C学习笔记24-关键字总结(转)
学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1. #import #import <> 从syste ...
- PHP简单 对象(object) 与 数组(array) 的转换
数组是PHP的灵魂,非常强大,但有时候面向对象编程也是挺方便的,数组 与 对象 之间切换也是常有的事: /** * 数组 转 对象 * * @param array $arr 数组 * @return ...
随机推荐
- 转:android 自定义RadioButton样式
http://gundumw100.iteye.com/blog/1146527 上面这种3选1的效果如何做呢?用代码写? 其实有更简单的办法,忘了RadioButton有什么特性了吗? 我就用Ra ...
- 创建一个流(Stream)可以让Bitmap或Image保存到流里面(转)
创建一个流(Stream)可以让Bitmap或Image使用save方法将已经在bitmap上生成的图像 保存到流里面?不需要直接在硬盘上生成文件 -------------------------- ...
- Spring和CXF整合时报Unsupported major.minor version 51.0异常
好吧,官网上有写:The current plan is that CXF 3.1 will no longer support Java 6 and will require Java 7 or n ...
- 再谈CMake与RPATH
之前写过一篇<探讨CMake中关于RPATH的使用>,只要针对的方面是在编译生成之后(不包括安装的make install)如何去除RPATH的问题.今天给大家主要介绍一下如何让CMake ...
- JavaScript 的setAttribute兼容性解决
setAttribute各个浏览器都支持,但在IE7以下版本中,有些属性值还是有差异的,比如 obj.setAttribute("class","classname&qu ...
- ASP.NET MVC 缓存使用示例
应该说,缓存的设计是一门较为复杂的学问,主要考虑的问题包括:要不要缓存?要缓存哪些数据?要缓存多少数据?要缓存多久?如何更新缓存(手动还是自 动)?将缓存放在哪里?本文将以较为通俗易懂的方式,来看一看 ...
- (转载)让ie6也支持max-width,和max-height实现图片等比例缩放
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- iOS开发——C篇&数组与指针
2015-07-17 13:23 编辑 前面我们介绍了关于C语言的内存分配问题,下面我们就开始介绍关于C语言的两个非常重要的知识点:数组与指针 数组与指针其实不仅仅是再C语言中,再OC中(当然OC是内 ...
- Html表格自动换行
前述: 前端经常用到表格,而表格中的列里面的内容一多,会撑大列的宽度,这个时候如果想要内容不撑大列宽...请看下面的link: link:html表格自动换行
- golang protobuf
1. proto文件编写的时候,如果用uint32或uint64类型,那么不能用required,必须用optional. 如果用错了,会出现错误:unmarshaling error: proto: ...