年年有"余"

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2449|回复: 3

第九讲:Objective-C基本数据结构之NSMutableString

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

    [LV.9]以坛为家II

    发表于 2013-12-20 21:09:27 | 显示全部楼层 |阅读模式
    main.m
    1. #import <Foundation/Foundation.h>
    2. int main(int argc, const char * argv[])
    3. {
    4.         @autoreleasepool{
    5.                
    6.                 //NSMutableString * str = @"Hello World!";//该方法不能用来创建一个可变字符串!!
    7.                
    8.                 NSMutableString * str = [[NSMutableString alloc] initWithString:@"Hello"];
    9.                
    10.                 NSMutableString * str1 = [[NSMutableString alloc] init];
    11.                 [str1 setString:@"Hello"];
    12.                 [str1 setString:@"World"];
    13.                 NSLog(@"%@",str1);
    14.                 //****************************************可变字符串之增
    15.                 [str1 appendString:@"123"];//追加
    16.                 [str1 appendFormat:@"%c",'D'];//格式化增加
    17.                
    18.                 [str1 insertString:@"XXXX" atIndex:4];//在第4个字符处插入XXXX
    19.                 [str1 insertString:[NSString stringWithFormat:"%d",-5] atIndex:7];//格式化插入
    20.                 NSLog(@"%@",str1);
    21.                 //****************************************可变字符串之删
    22.                 [str1 deletCharactersInRange:NSMakeRange(3, 5)];//从第三个开始删除5个字符
    23.                 NSLog(@"%@",str1);
    复制代码
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-1-8 19:55:28 | 显示全部楼层
    NSSMutableString * str = @"Hello World!";    //不能用该方式来初始化(或赋值)一个可变字符串 QQ20140108-1@2x.png

    错误提示:incompatible pointer types initializing 'NSMutableString *' with an expression of type 'NSString *'
    翻译一下:不兼容的指针类型"NSString"初始化了一类型为"NSMutableString"的指针;(大概如此)
    但实际上会编译通过并且输出:
    1. 2014-01-08 19:45:21.064 NSMutableString[1942:303] Hello World!
    2. Program ended with exit code: 0
    复制代码


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

    [LV.9]以坛为家II

     楼主| 发表于 2014-1-8 20:29:31 | 显示全部楼层
    XCode正式代码:
    1. //
    2. //  main.m
    3. //  NSMutableString
    4. //
    5. //  Created by yusian on 14-1-8.
    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.         NSMutableString * str = [[NSMutableString alloc] initWithString:@"Hello str!"];
    14.         NSLog(@"%@",str);
    15.         [str release];
    16.         
    17.         NSMutableString * str1 = [[NSMutableString alloc] init];
    18.         [str1 setString:@"Hello NSMutableString Message!"];
    19.         [str1 setString:@"Hello World!"];
    20.         NSLog(@"%@",str1);
    21.         [str1 release];
    22.         
    23.         NSMutableString * str2 = [[NSMutableString alloc] init];
    24.         [str2 appendString:@"NS"];
    25.         [str2 appendString:@"String"];
    26.         [str2 appendFormat:@"%c",'!'];
    27.         NSLog(@"%@",str2);
    28.         
    29.         [str2 insertString:@"Mutable" atIndex:2];
    30.         NSLog(@"%@",str2);
    31.         
    32.         [str2 deleteCharactersInRange:NSMakeRange(2, 7)];
    33.         NSLog(@"%@",str2);
    34.         [str2 release];
    35.         
    36.     }
    37.     return 0;
    38. }
    复制代码
  • TA的每日心情
    奋斗
    2022-12-13 21:26
  • 签到天数: 371 天

    [LV.9]以坛为家II

     楼主| 发表于 2014-1-8 20:29:50 | 显示全部楼层
    输出结果:
    1. 2014-01-08 20:28:39.507 NSMutableString[2234:303] Hello str!
    2. 2014-01-08 20:28:39.508 NSMutableString[2234:303] Hello World!
    3. 2014-01-08 20:28:39.509 NSMutableString[2234:303] NSString!
    4. 2014-01-08 20:28:39.509 NSMutableString[2234:303] NSMutableString!
    5. 2014-01-08 20:28:39.509 NSMutableString[2234:303] NSString!
    6. Program ended with exit code: 0
    复制代码
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-4-29 14:57 , Processed in 0.051026 second(s), 21 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

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