年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 25073|回复: 2

第十讲:Objective-C基本数据结构之NSArray

[复制链接]
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

    发表于 2013-12-20 21:34:27 | 显示全部楼层 |阅读模式
    Dog.h
    1. #import <Foundation/Foundation.h>
    2. @interface Dog:NSObject
    3. @end;
    复制代码

    Dog.m
    1. #import "Dog.h"
    2. @implementation Dog
    3. - (NSString *)desctription
    4. {
    5.         return @"This is a dog!";
    6. }
    7. @end
    复制代码

    main.m
    1. #import <Foundation/Foundation.h>
    2. int main(int argc, const char * argv[])
    3. {
    4.         @autoreleasepool{
    5.                 Dog * dog = [[Dog alloc] init];
    6.                 NSArray * array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",dog,nil];
    7.                 //数组元素可以是任意对象,数组中装的是元素的地址;
    8.                 //返回每个元素的discription值(遍历打印)               
    9.                 NSLog(@"%@",array);//非连续的单词用双引号"This is a dog!"标识
    10.                 NSLog(@"%@",dog);
    11.                 //*************************************遍历方法之枚举器法
    12.                 NSEnumerator * enumerator = [array objectEnumerator];
    13.                 id obj;
    14.                 while(obj = [enumerator nextObject]){
    15.                         NSLog(@"%@",obj);
    16.                 }
    17.                 //*************************************快速枚举法
    18.                 for(id obj in array){
    19.                         NSLog(@"%@",obj);
    20.                 }
    21.                 //*************************************使用i值遍历
    22.                 NSUInteger length = [array count];
    23.                 obj = [array objectIndex:2];
    24.                 NSUinteger i;
    25.                 for(i = 0,i < [array count],i++){
    26.                         NSLog(@"%@",[array objectAtIndex:i]);
    27.                 }
    28.                 [dog release];               
    29.                 [array release];
    30.         }
    31.         return 0;
    32. }
    复制代码

  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-1-8 21:01:51 | 显示全部楼层
    三个非常实用的遍历方法:
    1、枚举器法
    2、快速枚举器法
    3、i值遍历法
    Xcode代码如下:
    1. //
    2. //  main.m
    3. //  NSArray
    4. //
    5. //  Created by yusian on 14-1-8.
    6. //  Copyright (c) 2014年 yusian. All rights reserved.
    7. //
    8. #import <Foundation/Foundation.h>
    9. #import "Dog.h"
    10. int main(int argc, const char * argv[])
    11. {
    12.     @autoreleasepool {
    13.         
    14.         Dog * dog = [[Dog alloc] init];
    15.         NSArray * array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",dog,nil];
    16.         NSLog(@"%@",array);
    17.         
    18.         NSEnumerator * enumerator = [array objectEnumerator];
    19.         id obj;
    20.         while (obj = [enumerator nextObject]) {
    21.             NSLog(@"%@",obj);
    22.         }//遍历法之枚举器法
    23.         
    24.         for (id obj in array) {
    25.             NSLog(@"%@",obj);
    26.         }//遍历法之快速枚举法
    27.         
    28.         NSUInteger length = [array count];
    29.         for (int i = 0; i <length; i++) {
    30.             NSLog(@"%@",[array objectAtIndex:i]);
    31.         }//i值遍历法
    32.         
    33.         [dog release];
    34.         [array release];
    35.     }
    36.     return 0;
    37. }
    复制代码
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-1-8 21:02:15 | 显示全部楼层
    Sian 发表于 2014-1-8 21:01
    三个非常实用的遍历方法:
    1、枚举器法
    2、快速枚举器法

    输出结果:
    1. 2014-01-08 20:59:44.789 NSArray[2603:303] (
    2.     One,
    3.     Two,
    4.     Three,
    5.     "This is a dog!"
    6. )
    7. 2014-01-08 20:59:44.794 NSArray[2603:303] One
    8. 2014-01-08 20:59:44.795 NSArray[2603:303] Two
    9. 2014-01-08 20:59:44.795 NSArray[2603:303] Three
    10. 2014-01-08 20:59:44.795 NSArray[2603:303] This is a dog!
    11. 2014-01-08 20:59:44.796 NSArray[2603:303] One
    12. 2014-01-08 20:59:44.796 NSArray[2603:303] Two
    13. 2014-01-08 20:59:44.796 NSArray[2603:303] Three
    14. 2014-01-08 20:59:44.797 NSArray[2603:303] This is a dog!
    15. 2014-01-08 20:59:44.797 NSArray[2603:303] One
    16. 2014-01-08 20:59:44.797 NSArray[2603:303] Two
    17. 2014-01-08 20:59:44.798 NSArray[2603:303] Three
    18. 2014-01-08 20:59:44.798 NSArray[2603:303] This is a dog!
    19. Program ended with exit code: 0
    复制代码
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    手机版|小黑屋|Archiver|iOS开发笔记 ( 湘ICP备14010846号 )

    GMT+8, 2024-4-29 03:31 , Processed in 0.051860 second(s), 18 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表