zoukankan      html  css  js  c++  java
  • Object-C,数组NSArray

      晚上回来,写了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等第三方有实现。  

  • 相关阅读:
    themes、skins
    使用GreyBox实现Ajax模式窗口
    .net最小化到系统托盘
    asp.net自定义控件
    [转]SQL函数的简短说明
    prototype1.4 和1.5
    [转]Oracle PL/SQL 编程手册(SQL大全)
    更新同一张表中的数据的方法
    js中eval()的作用
    asp.net中的中文和特殊字符的处理方式!
  • 原文地址:https://www.cnblogs.com/qitian1/p/6462553.html
Copyright © 2011-2022 走看看