文档章节

Object-C代码练习【集合_NSArray和NSMutableArray】

TomatosX
 TomatosX
发布于 2014/10/06 21:35
字数 478
阅读 16
收藏 0
//
//  main.m
//  集合
//
//  Created by on 14-10-5.
//  Copyright (c) 2014年 apple. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
//        ================不可变数组,NSArray================
//        初始化一个数组元素,注意这里是arrayWithObject,不是arrayWithObjects
        NSArray *array1 = [NSArray arrayWithObject:@"one"];
        NSLog(@"%@", array1);
        
//        初始化多个元素注意要用nil结尾
        NSArray *array2 = [NSArray arrayWithObjects:@"one", @"two", nil];
        NSLog(@"%@", array2);
        
//        从array2创建array3,array2和array3是指向同一个对象
        NSArray *array3 = [NSArray arrayWithArray:array2];
        NSLog(@"%@", array3);
        
        NSArray *array4 = [[NSArray alloc] initWithArray:array3];
        NSLog(@"%@", array4);
        
//        ================常用方法================
        NSArray *array5 = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", nil];
//        获取数组中的元素个数
        NSLog(@"%ld", [array5 count]);
//        根据下标访问对象
        NSLog(@"%@", [array5 objectAtIndex:1]);
//        在原来的数组上追加一个对象,返回一个新的数组对象
        NSArray *tmp = [array5 arrayByAddingObject:@"ddddd"];
        NSLog(@"%@", tmp);
//        用指定的字符串数组元素连接起来
        NSLog(@"%@", [array5 componentsJoinedByString:@", "]);
//        数组中是否包含某一对象
        NSLog(@"%hhd", [array5 containsObject:@"b"]);
//        查询指定对象在数组中的元素,如果没有此元素,返回NSNotFound
        NSLog(@"%ld", [array5 indexOfObject:@"c"]);
//        获取数组中最后一个元素
        NSLog(@"%@", [array5 lastObject]);
        
//////////////////////////////////////////////////////////////////////////////////////////
//        ================可变数组的常用方法================
        NSMutableArray *muStr = [NSMutableArray arrayWithCapacity:5];
//        向数组中添加元素
        [muStr addObject:@"aaa"];
        NSLog(@"%@", muStr);
//        向数组中指定下标插入元素
        [muStr insertObject:@"bbb" atIndex:1];
        NSLog(@"%@", muStr);
//        移除最后一个元素
        [muStr removeLastObject];
        NSLog(@"%@", muStr);
//        移除指定元素
        [muStr removeObjectAtIndex:0];
        NSLog(@"%@", muStr);
//        向数组中添加数组
        NSArray *tmp2 = [muStr arrayByAddingObjectsFromArray: array2];
        NSLog(@"%@", tmp2);
//        从数组删除数组
        [muStr addObject:@"one"];
        [muStr addObject:@"two"];
        NSLog(@"%@", muStr);
        [muStr removeObjectsInArray:array2];
        NSLog(@"%@", muStr);
        
//        枚举集合,请参考代码OC-ArrayEnumeration
        
///////////////////////////////////练习:倒置数组元素///////////////////////////////////
        NSMutableArray *tmp1 = [[NSMutableArray alloc] initWithObjects:@"1", @"2", @"3", nil];
        int length = (int)[tmp1 count];
        for (int i = 0, j = length - 1; i < j; i++, j--) {
            id tmp2 = [tmp1 objectAtIndex:i];
            [tmp1 replaceObjectAtIndex:i withObject:[tmp1 objectAtIndex:j]];
            [tmp1 replaceObjectAtIndex:j withObject:tmp2];
        }
        NSEnumerator *enumExchange = [tmp1 objectEnumerator];
        id nextObj;
        while (nextObj = [enumExchange nextObject]) {
            NSLog(@"倒置数组:%@", nextObj);
        }
    }
    return 0;
}



© 著作权归作者所有

共有 人打赏支持
TomatosX
粉丝 22
博文 207
码字总数 119547
作品 0
成都
iOS工程师
NSStirng、NSArray、以及枚举(Method小集合)

一下内容由angellixf整理,这里制作记录: Object-c代码 /*** NSString ***/ //一、NSString /----------------创建字符串的方法----------------/ //1、创建常量字符串。 NSString *astring ...

慎道
2011/03/24
0
0
Object-c 中的数据类型

导航: 基本类型 ID 对象类型常见的有 对象类型 -NSLog -NSNumber -NSString和NSMutableString -NSArray和NSMutableArray -NSSet和NSMutableSet -NSDictionary和NSMutableDictionary 基本类型......

gaoios
2014/01/05
0
0
OC语言自学《十二》---- OC(Foundation框架部分知识总结)

NSRange 表示一个范围 主要用来操作字符串 CGPoint、NSPoint 通过设置x坐标和y坐标来设置某个点 IOS设备的x和y从左上角开始,y值往下面增加,x值往右面增加 CGSize、NSSize 表示一个矩形尺寸...

罗眯眯
2014/04/09
0
0
iOS 数组遍历删除&自定义迭代器

在iOS中,数组是无法通过迭代器删除的,无论是enumerateObjectsUsingBlock迭代器还是for in,抑或是NSEnumerator都无能为力,当然 for循环更不行了,对于java编程的同学来说无法接受啊。 当然...

IamOkay
2016/03/28
1K
1
数组的简单方法

注:在Object C中使用NSArray 来创建数组;但是在Object C中NSArray 只能存放对象类型的指针,不能存放int,char,double等基本数据类型。   一. 不可变数组对象     这个和之前的NSStr...

Matsonga
2016/03/03
29
0

没有更多内容

加载失败,请刷新页面

加载更多

中秋快乐!!!

HiBlock
今天
1
0
Node安装教程

1、安装最新版的node 2、设置相关目录(以D盘为例) 分别建立目录:D:\node,D:\node\node-globa,D:\node\node-cache 命令行输入: // 设置npm国内镜像 npm config set registry https://re...

Mohan710
今天
3
0
中国发布域名系统基础软件 “红枫”

9月12日消息,域名工程中心(英文缩写 ZDNS)发布了宣称自主开发的域名系统基础软件 “红枫(Maple DNS)”。 9月12日消息,域名工程中心(英文缩写 ZDNS)发布了宣称自主开发的域名系统基础软...

问题终结者
今天
3
0
Shell编程(分发系统介绍、expect远程登录、expect远程执行命令、expect传递参数)

分发系统介绍expect 分发系统expect即分发脚本,是一种脚本语言;通过他可以实现传输,输入命令(上线代码) 应用场景:业务越来越大,网站app,后端,编程语言是php,所以就需要配置lamp或者...

蛋黄_Yolks
今天
4
0
Java Http请求工具类

public static String httpPost(String source, String params) {URL url = null;HttpURLConnection conn = null;OutputStream os = null;String ret = null;try {......

yuewawa
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部