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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© m573555543 中级黑马   /  2014-5-7 06:09  /  1488 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 m573555543 于 2014-5-24 18:06 编辑
  1. // NSMutableString  是可变字符串  如果想要把字符串的内容改写。就得使用它。
  2.     NSMutableString *s1 = [NSMutableString stringWithFormat:@" 我要疯la"];
  3.     [s1 appendString:@"疯了+1\n疯le+2\n"];
  4.         
  5.     NSRange range = [s1 rangeOfString:@"我要疯la"];
  6.     [s1 deleteCharactersInRange:range];
复制代码


答案是 这个

我想问的是 range 中的 s1 跟 NSMutableString冲突么 ?如果冲突 为什么我改成s 显示 NSPange 错误?如果不冲突 那  s1  和 range 是是什么意思?


如何输出 range 。直接输出 range 无任何答案显示

4 个回复

倒序浏览
NSRange吗?这是个结构体。不是一个对象。你想怎么输出勒?你可以说下你想实在的功能么?
回复 使用道具 举报
表示不太明白你的问题啊,我就知道NSrange是结构体,一个结构体怎么会跟NSMUtableString对象冲突呢?NSMutableString是一个可变字符串对象啊。range是一个结构体啊,里面有两个成员变量
  1. typedef struct _NSRange {
  2.       NSUInteger location;
  3.       NSUInteger length;
  4. } NSRange;
复制代码

对于NSMutableString是个对象,你直接去查头文件去看它的定义和解释
回复 使用道具 举报
// NSMutableString  是可变字符串  如果想要把字符串的内容改写。就得使用它。
    NSMutableString *s1 = [NSMutableString stringWithFormat: @" 我要疯la"];
    [s1 appendString: @"疯了+1\n疯le+2\n"];
        
    NSRange range = [s1 rangeOfString: @"我要疯la"]; // 不冲突的,这个s1就是你上面的字符串啊,这个是查找 "我要疯la" 在s1字符串中的位置啊,怎么可能冲突啊,返回的是 "我要疯la" 在字符串s1的第一个位置和字符串长度,然后就可以根据这个返回值,进行下面的把 "我要疯la" 从s1中删除
    [s1 deleteCharactersInRange:range];
回复 使用道具 举报
兰闻天 发表于 2014-5-7 09:53
// NSMutableString  是可变字符串  如果想要把字符串的内容改写。就得使用它。
    NSMutableString *s1 = ...

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