晚上回来,写了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. vb 使用Array.ConvertAll将object类型数组转为string类型数组

    vb 使用Array.ConvertAll将object类型数组转为string类型数组有两种方法 1.    方法1 1 Dim int_array() As Object = {1, 2, 3} ...

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

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

  3. php object 数组赋值,php object转数组示例

    原本是这样格式的数据: object(Thrift\Server\PageCards)#32 (3) { ["cards"]=> array(10) { [0]=> o ...

  4. php object添加到数组,PHP Object转换为数组array

    要将对象转换为PHP中的关联数组,代码如下- 示例<?php class department { public function __construct($deptname, $deptzon ...

  5. js object转数组_const 和 Object.freeze() 的区别 ?

    [送5本好书]你应该知道的 5 种 TypeScript设计模式 这篇文章介绍了使用const和Object.freeze()在 JS中定义常量和配置值一些做法,以及它们之间的区别. 当我们在 JS ...

  6. foundation 数组NSArray学习

    最近最近在忙于公司的项目研发学习iOS的进度比较慢了,但是还是坚持自己学习了一下foundation的基本学习语法拿来和大家一起分享学习.每天都到深夜在休息明天还要上班身体真心累,但是我始终相信好事多 ...

  7. java object 数组_Java用Object实现数组队列的泛思与理解

    1.数组队列:能够限定只存一种数据或(不限定数据类型)同时存储多种数据的一个数组封装类 2.实现:使用泛型,创建对象时若指定数据类型,则只能存储一种数据,否则可以存储多种数据: 2.1.前者:类似于C ...

  8. php--------对象(object) 与 数组(array) 的转换

    php开发中常常用到数组,sql数据都是数组,数组和对象用的也是比较多的,常常相互转化,数组是PHP的灵魂,非常强大,面向对象编程也是挺方便的. /*** 数组 转 对象** @param array ...

  9. object转换为数组_从V8源码分析一个JS 数组的内存占用问题

    前段时间,在排查一个问题的时候,遇到了一个有点令人困惑的情况,有下面这两段代码: const a = new Array(99999);a[99998] = undefined; const b = ...

最新文章

  1. idea中 maven打包时时报错User setting file does not exist C:\Users\lenevo\.m2\setting.xml,
  2. c++ 优先队列_什么是队列?(Python队列)
  3. Ubuntu文本编辑(vi和nano)命令
  4. BZOJ3577 : 玩手机
  5. Android(Java):jni源代码
  6. vs2013 无法打开 源 文件 SDKDDKVer.h
  7. codeforces 938E MaxHistory 组合数学
  8. Spring 4 官方文档学习(十)数据访问之JDBC
  9. UVA - 11246 - K-Multiple Free set(容斥原理)
  10. 每日算法系列【LeetCode 495】提莫攻击
  11. 大学计算机—计算思维导论 中国大学mooc 哈尔滨工业大学 测验题目和答案
  12. Java--获取xml头encoding编码方式
  13. 使用gitLab clone代码报错:error: RPC failed; curl 56 OpenSSL SSL_read: Connection was reset
  14. 360Win10的360wifi无速度问题
  15. 鸿雪因缘--穿越千年的朋友圈
  16. 为什么边缘概率密度是联合概率密度的积分_看懂蒙特卡洛积分(一) 概率分布变换与随机采样...
  17. 因为这个原因,将谷歌浏览器更换到国产浏览器
  18. Python语言特性和优缺点及什么是鸭子类型?
  19. 最新总结-php根据ip获取所在位置(定位)
  20. 引领智能家居新浪潮 走进云图全场景智能家居数字照明

热门文章

  1. 2021年电力电缆考试题库及电力电缆报名考试
  2. miui android 版本下载安装,MIUI论坛
  3. JavaSE笔记(八)重制版
  4. 玩转SQLite6:使用C语言来读写数据库
  5. 火狐浏览器和ie,谷歌的兼容问题
  6. 截至2019年11月份完全免费开放亲测可用稳定的API接口(持续更新中)
  7. Windows Docker 安装
  8. 基于Minio实现分布式云存储
  9. 如何写好一份技术应聘简历
  10. PHP图片融合处理,PHP极其强大的图片处理库Grafika详细教程(1):图像基本处理...