A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 2014571245 中级黑马   /  2014-5-8 19:34  /  1103 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. #import <Foundation/Foundation.h>

  2. int main(int argc, const char * argv[])
  3. {
  4.     NSMutableString *new1 = [NSString stringWithFormat:@"12 , 34"];
  5.     NSMutableString *new2 = [new1 copy];
  6.     NSRange *rang = [new2 rangeOfString:@"34"];
  7.     NSMutableString *new = [new2 deleteCharactersInRange:rang];
  8.    
  9.     NSLog(@"%@",new);
  10.     return 0;
  11. }
复制代码


根据MJ老师的讲解,自己写的代码,试图将不可变数组内容拷贝一份到可变数组中,再对该数组进行删除操作,可是报错了,想问问这段代码合理吗?不合理的话应该怎么改?

1 个回复

倒序浏览
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    NSMutableString *new1 = [NSString stringWithFormat: @"12 , 34"]; // 这个最好前边的也是NSString
    NSMutableString *new2 = [new1 copy];  // 这里不对,对不可变数组执行copy是浅复制,应该换成[new1 mutableCopy],然后你再试试
    NSRange *rang = [new2 rangeOfString: @ "34"];
    NSMutableString *new = [new2 deleteCharactersInRange:rang];

    NSLog(@"%@",new);
    return 0;
}


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马