晚上回来,写了2个iOS应用程序。

就是在界面中,展示标签。一种是手动构造界面,然后绑定事件。另外一种是,使用自带的界面作为容器,但是手动向里面放其它界面元素。

书中的观点是,使用图形化界面,构造界面比较好。

然后,又写了个Object-C数组的例子。

Object-C相对简单一些,黑屏控制台输出,而iOS可视化界面的程序,代码较多,也不好描述。

iOS程序的“上下文环境”更复杂一些把,而Object-C语言,和Java就类似。

//
// main.m
// NSArrayTest
//
// Created by fansunion on 15/12/1.
// Copyright (c) 2015年 demo. All rights reserved.
// #import <Foundation/Foundation.h> //演示不可变数组
int main(int argc, const char * argv[]) {
@autoreleasepool {
//不可变数组,用类方法构造数组
NSArray* array =[NSArray arrayWithObjects:@"A",@"B",@"C",nil];
//访问元素有2种方式
NSLog(@"The first element is %@",array[0]);
NSLog(@"The second element is %@",[array objectAtIndex:1]); //不可变数组,在原来的基础上再增加一个元素D返回心的数组
NSArray* newArray = [array arrayByAddingObject:@"D"];
//使用for循环,打印新的数组
for(int index=0;index<newArray
.count;index++){
NSLog(@("The %i element is %@"),index,newArray[index]);
} //使用枚举遍历器,打印心的数组
NSEnumerator *enumerator =[newArray objectEnumerator];
id object;
while(object =[enumerator nextObject]){
NSLog(@"The element is %@",object);
} }
return 0;
}

程序输出

2015-12-01 21:16:55.768 NSArrayTest[5346:358824] The first element is A

2015-12-01 21:16:55.769 NSArrayTest[5346:358824] The second element is B

2015-12-01 21:16:55.769 NSArrayTest[5346:358824] The 0 element is A

2015-12-01 21:16:55.769 NSArrayTest[5346:358824] The 1 element is B

2015-12-01 21:16:55.770 NSArrayTest[5346:358824] The 2 element is C

2015-12-01 21:16:55.770 NSArrayTest[5346:358824] The 3 element is D

2015-12-01 21:16:55.774 NSArrayTest[5346:358824] The element is A

2015-12-01 21:16:55.774 NSArrayTest[5346:358824] The element is B

2015-12-01 21:16:55.774 NSArrayTest[5346:358824] The element is C

2015-12-01 21:16:55.774 NSArrayTest[5346:358824] The element is D

Program ended with exit code: 0

需要特别指出的是,NSArray是不可变的,就像java中的String对象。

NSMutableArray是可变数组。

这点和java中正好相反:Java中的ArrayList正好是可变的,如果想要不可变的,Apache等第三方有实现。

Object-C,数组NSArray的更多相关文章

  1. 15.Object-C--浅谈Foundation框架OC数组NSArray与NSMutableArray

    昨天总结了一下NSString与NSMutableString,今天我在这里总结一下NSArray与NSMutableArray. NSArray数组是:不可变数组. nil 是数组元素结束的标记.O ...

  2. Foundation框架—— 数组 (NSArray NSMutableArray )

    基础知识回顾 1.在给可变数组添加元素时,要保证该数组已被初始化 2.在遍历可变数组时,不能对其进行增删改 3.NSMutableArray继承自NSArray,几乎拥有NSArray的一切方法. 4 ...

  3. IOS数组NSArray与NSMutableArray知识点

    此文是对数组NSArray与NSMutableArray知识点的总结,主要是一些常见的操作,别外一些操作见其相应的文档,下面的代码部分还运用的第三方插件BlocksKit相结合: a:Foundati ...

  4. 【转】不可变数组NSArray与可变数组NSMutableArray

    原文网址:http://www.jianshu.com/p/1ad327f56d1d 不可变数组NSArray //创建一个空数组 NSArray *array = [NSArray array]; ...

  5. Object -C 数组 -- 笔记

    // //  main.m //  Array // //  Created by facial on 23/8/15. //  Copyright (c) 2015 facial_huo. All ...

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

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

  7. 数组NSArray与NSMutableArray的常用方法

    数组中可以放任何类型的数据,并且一个数组中的元素类型可以不一致.只要是(id类型)对象. NSArray 1.初始化 NSArray *array = @[]; 2.初始化,最后需要以nil结尾 NS ...

  8. 不可变数组NSArray

    //数组里面不允许存放基本数据类型,只能存放“对象” NSArray *array = [NSArray arrayWithObjects:@"周星星",@"尹天仇&qu ...

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

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

随机推荐

  1. .net基础总复习(1)

    第一天 1.new关键字 (1) 创建对象 (2) 隐藏从父类那里继承过来的成员 2.访问修饰符 public: 公开的,公共的. private:私有的,只能在当前类的内部访问,类中的成员, 如果不 ...

  2. Uboot优美代码赏析1:目录结构和malkefile分析

    Uboot优美代码赏析1:目录结构和malkefile分析 关于Uboot自己选的版本是目前最新的2011.06,官方网址为:http://www.denx.de/wiki/U-Boot/WebHom ...

  3. a[i++]=a 数组下标自加优先问题

    a[i++]=a 即是: a[i] = a;i ++;先把a赋值给数组a下标为 i 的 元素把 i 自加 1 :即指向下一个元素 =================================== ...

  4. Opencv 使用Rect选取与设置窗口ROI

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50593825 首先看一下Rect对象的 ...

  5. 第八章 Servlet概述

    第八章 Servlet概述 主要内容: 了解servlet: 掌握servlet实现: 掌握servlet的生命周期. servlet概念 Servlet是运行在服务器端用Java语言编写的应用程序, ...

  6. ASP.NET-使用json

    数据格式 vat strJson =' {"name":"jingya","Age":88} '; // 数字不用写双引号 JSON.par ...

  7. Cocos2d-x 3.4 之 消灭星星 &gt; 第三篇(终) &lt;

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  8. HDU 4856 Tunnels(BFS+状压DP)

    HDU 4856 Tunnels 题目链接 题意:给定一些管道.然后管道之间走是不用时间的,陆地上有障碍.陆地上走一步花费时间1,求遍历全部管道须要的最短时间.每一个管道仅仅能走一次 思路:先BFS预 ...

  9. 从100PV到1亿级PV站点架构演变

    假设你对项目管理.系统架构有兴趣,请加微信订阅号"softjg".增加这个PM.架构师的大家庭 一个站点就像一个人,存在一个从小到大的过程. 养一个站点和养一个人一样.不同一时候期 ...

  10. Hibernate中的HQL

    一.查询所有的时候 List<Company> list=session.createQuery("from Company as c order by c.cid desc&q ...