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 ...
随机推荐
- Mac下Sublime快捷键
由于自己笔记本是mac,造成window与mac中sublime快捷键不同,现在稍微整理下常用的方便于记忆: 1.control+alt+enter 打开Emmet(Zencoding) 2.supe ...
- asp.net C# 导出EXCEL数据
if (dt == null) { return ""; } Microsoft.Office.Interop.Excel.Application xlApp = new Micr ...
- HTML5 ArrayBuffer:类型化数组 (二)
类型化数组是JavaScript操作二进制数据的一个接口. 这要从WebGL项目的诞生说起,所谓WebGL,就是指浏览器与显卡之间的通信接口,为了满足JavaScript与显卡之间大量的.实时的数据交 ...
- 分页技术之GridView控件
GridView控件实现分页技术 第一步:设置GridView控件的属性,跟分页相关的属性设置如下: AllowPaging="true":允许分页, PageSize=" ...
- xcode升级插件失效修复
每次xcode升级以后,插件都会失效.可以通过一行命令解决这个问题. 摘自传人的博客 find ~/Library/Application\ Support/Developer/Shared/Xcod ...
- 无法升级数据库....因为此版本的 SQL Server 不支持该数据库的非发布版本(539) 解决方案
使用SQL2012附加一个数据库时报出了以下错误:“无法升级数据库....因为此版本的 SQL Server 不支持该数据库的非发布版本(539).不能打开与此版本的 sqlserver.exe 不兼 ...
- python自学笔记
python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...
- 你好,C++(11)如何用string数据类型表示一串文字?根据初始值自动推断数据类型的auto关键字(C++ 11)
3.5.2 字符串类型 使用char类型的变量我们可以表示单个字符,那么,我们又该如何表示拥有多个字符的字符串呢? 我们注意到,一个字符串是由多个字符串连起来形成的.很自然地,一种最简单直接的方法就 ...
- 嵌入式开发(一) Ubuntu12.04下搭建交叉编译环境
操作系统:Ubuntu12.04 AMD64位 交叉编译环境:arm-Linux gcc版本4.4.3 前言: 首先理解一下交叉编译的意思.我们要给嵌入式设备写应用程序,但是又不能在嵌入式设备上完成所 ...
- jquery之bind(),live(),delegate()
大纲: 1.bind(),live(),delegate()的含义 2.三者基于相同的原理即js的事件冒泡 3.三者相互之间的异同. bind()+live() V.S. delegate():bin ...