文档章节

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

TomatosX
 TomatosX
发布于 2014/10/06 21:35
字数 478
阅读 16
收藏 0
点赞 0
评论 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
copy与mutableCopy区别,strong和copy的使用

本篇文章主要讲两个知识点:1.深拷贝与浅拷贝 2.NSArray和NSMutaleArray应该用copy还是stong修饰。 一、我们先来分析深拷贝(返回一个对象,一个新的指针指向一个新的内容)与浅拷贝(返回一个...

Jesse1949
2017/09/01
0
0
NSString字符串常用方法

/* NSString / //一、NSString /----------------创建字符串的方法----------------/ //1、创建常量字符串。 NSString astring = @"This is a String!"; //2、创建空字符串,给予赋值。 NSSt...

长平狐
2012/10/09
390
0
Objective-C ---NSArray(梳理整理)

NSArray NSArray 和NSDictionary都是oc中的集合类,什么叫做集合,就是装对象的对象 NSArray是有序的 NSDictionary是无序的 1.创建方式 a.[[NSArray alloc] initWithArray:arr1];(用本身创建...

都英俊兮
2016/05/18
20
0
objective-c 截取字符串 数组 字典……

//该的首字附 大写 NSString *ns22=[[NSString alloc]initWithFormat:@"dsf"]; NSLog(@"%@",[ns22 capitalizedString]); //替换某一指定的字符串 NSMutableString *strs=[[NSMutableString ......

malawo
2012/12/11
0
0
KVC/KVO 的使用及原理分析

KVC/KVO 概念 KVC : 即 Key-Value-Coding,用于键值编码。作为 cocoa 的一个标准化组成部分,它是基于 NSKeyValueCoding 非正式协议的机制。简单来说,就是直接通过 key 值对对象的属性进行...

满脸胡茬的小码农
2017/11/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

代码生成利器:IDEA 强大的 Live Templates

代码生成利器:IDEA 强大的 Live Templates

qwfys
15分钟前
1
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
19分钟前
0
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
22分钟前
0
0
日常运维--rsync同步工具

rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而...

chencheng-linux
26分钟前
1
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
38分钟前
1
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
0
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
0
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
0
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
0
0
rsync工具介绍/rsync通过ssh同步

rsync工具介绍 数据备份是必不可少,在Linux系统下数据备份的工具很多,其中重点介绍就是rsync工具,rsync不仅可以远程同步数据,还可以本地同步数据,且不会覆盖以前的数据在已经存在的数据...

Hi_Yolks
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部