年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 9473|回复: 4

第十二讲:Objective-C基本数据类型之NSArray&NSString

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

    [LV.9]以坛为家II

    发表于 2013-12-20 22:02:58 | 显示全部楼层 |阅读模式
    1. #import <Foundation/Foundation.h>
    2. int main(int argc, const char * argv[])
    3. {
    4.         @autoreleasepool{
    5.        
    6.                 NSString * str = @"I am a so bad man";
    7.                
    8.                 NSArray * array = [str componentsSeparatedByString"@" "]; //用空格来分割字符串返回到数组中
    9.                
    10.                 NSMutableArray * mutableArray = [[NSMutalbeArray alloc] init];//初始化一个新的可变数组
    11.                
    12.                 NSEumerator * eumerator = [array reverseObjectEnumerator];//逆遍检举出数组中的所有元素
    13.                
    14.                 NSString * obj;
    15.                 while( obj = [eumerator nextObject]){//用字符串将逆遍出的元素临时保存
    16.                         [mutableArray addObject:obj]        //将单个元素追加到可新定义的可变数组中
    17.                 }
    18.                
    19.                 NSString * newStr = [mutableArray compoentsJoinedByString:@" "];//用空格分割数组中的元素组装并返回到字符中
    20.                
    21.                 NSLog(@"%@",newStr);
    22.                
    23.                 NSLog(@"%@",array);
    24.                
    25.                 [mutableArray release];
    26.         }
    27.         return 0;
    28. }
    复制代码
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-1-9 21:11:42 | 显示全部楼层
    精简化程序:
    1. //
    2. //  main.m
    3. //  NSArray&NSString
    4. //
    5. //  Created by yusian on 14-1-9.
    6. //  Copyright (c) 2014年 yusian. All rights reserved.
    7. //
    8. #import <Foundation/Foundation.h>
    9. int main(int argc, const char * argv[])
    10. {
    11.     @autoreleasepool {
    12.         
    13.         NSString * str = @"I am a so bad man";
    14.         NSLog(@"%@",str);
    15.         
    16.         NSArray * array = [str componentsSeparatedByString:@" "];
    17.         
    18.         NSMutableArray * mutableArray = [[NSMutableArray alloc] init];
    19.         
    20.         NSEnumerator * enumerator = [array reverseObjectEnumerator];
    21.         id obj;
    22.         while (obj = [enumerator nextObject]) {
    23.             [mutableArray addObject:obj];
    24.         }
    25.         
    26.         NSString * newStr = [mutableArray componentsJoinedByString:@" "];
    27.         
    28.         NSLog(@"%@",newStr);
    29.         
    30.         
    31.         
    32.         [mutableArray release];
    33.         
    34.     }
    35.     return 0;
    36. }
    复制代码
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-1-9 21:12:06 | 显示全部楼层

    运行结果:
    1. 2014-01-09 21:10:31.336 NSArray&NSString[4633:303] I am a so bad man
    2. 2014-01-09 21:10:31.338 NSArray&NSString[4633:303] man bad so a am I
    3. Program ended with exit code: 0
    复制代码
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-1-9 22:29:54 | 显示全部楼层
    方法练习:
    1、创建一个字符串"ABCDEFG"
    2、将字符串中的字符放到一个可变数组中;
    3、将可变数组逆序遍历;
    4、将逆序遍历的数组追加到一个可变字符串中
    程序实现:
    1. //
    2. //  main.m
    3. //  RecodeString
    4. //
    5. //  Created by yusian on 14-1-9.
    6. //  Copyright (c) 2014年 yusian. All rights reserved.
    7. //
    8. #import <Foundation/Foundation.h>
    9. int main(int argc, const char * argv[])
    10. {
    11.     @autoreleasepool {
    12.         
    13.         NSString * str = @"ABCDEFG";
    14.         NSLog(@"%@",str);
    15.         NSMutableString * mutableString = [[NSMutableString alloc] init];
    16.         
    17.         NSUInteger length = [str length];
    18.         NSMutableArray * mutableArray = [[NSMutableArray alloc] init];
    19.         
    20.         for (int i = 0; i < length; i++) {
    21.             NSString * temp = [[NSString alloc] initWithFormat:@"%C",[str characterAtIndex:i]];
    22.             [mutableArray addObject:temp];
    23.             [temp release];
    24.         }
    25.         
    26.         NSEnumerator * enumerator = [mutableArray reverseObjectEnumerator];
    27.         id obj;
    28.         while (obj = [enumerator nextObject]) {
    29.             [mutableString appendFormat:@"%@",obj];
    30.         }
    31.         
    32.         NSLog(@"%@",mutableString);
    33.         [mutableString release];
    34.         
    35.         
    36.         }
    37.     return 0;
    38. }
    复制代码
    输出结果:
    1. 2014-01-09 22:29:22.894 RecodeString[5674:303] ABCDEFG
    2. 2014-01-09 22:29:22.896 RecodeString[5674:303] GFEDCBA
    3. Program ended with exit code: 0
    复制代码


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

    [LV.9]以坛为家II

     楼主| 发表于 2014-1-9 22:38:51 | 显示全部楼层
    Sian 发表于 2014-1-9 22:29
    方法练习:
    1、创建一个字符串"ABCDEFG"
    2、将字符串中的字符放到一个可变数组中;

    将字符串中的字符取出存取在临时unichar变量c中,然后再追加到可变字符串中同样可以实现:
    1. //
    2. //  main.m
    3. //  RecodeString
    4. //
    5. //  Created by yusian on 14-1-9.
    6. //  Copyright (c) 2014年 yusian. All rights reserved.
    7. //
    8. #import <Foundation/Foundation.h>
    9. int main(int argc, const char * argv[])
    10. {
    11.     @autoreleasepool {
    12.         
    13.         NSString * str = @"ABCDEFG";
    14.         NSLog(@"%@",str);
    15.         NSUInteger length = [str length];
    16.         NSMutableString * mutableString = [[NSMutableString alloc] init];
    17.         while (length > 0) {
    18.             length--;
    19.             unichar c = [str characterAtIndex:length];
    20.             [mutableString appendFormat:@"%C",c];
    21.         }
    22.         NSLog(@"%@",mutableString);
    23.         [mutableString release];
    24.         
    25.         
    26.         }
    27.     return 0;
    28. }
    复制代码
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-5-2 07:50 , Processed in 0.045364 second(s), 18 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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