黑马程序员技术交流社区

标题: NSString * s = [ str NSStringFromRange(r2) ]; 为啥是错的 [打印本页]

作者: 秋天De神话    时间: 2014-4-11 15:15
标题: NSString * s = [ str NSStringFromRange(r2) ]; 为啥是错的
本帖最后由 秋天De神话 于 2014-4-11 15:18 编辑

NSString *str = @"i love oc";


NSRange r2 =   NSMakeRange(2, 4) ;


NSString * s =  [ str  NSStringFromRange(r2) ];  这里为啥报错

NSLog(@"%@",s);

作者: 脸皮猴    时间: 2014-4-11 15:24
你方法是不是用错了啊。。。。
NSString * s =  [ str  NSStringFromRange:r2 ];  //应该没有这个方法吧。。
假如你是想取出里面的 love字符串,应该是这样子吧
  1.     NSString *str = @"i love you";
  2.     NSRange r = NSMakeRange(2, 4);
  3.     NSString *s = [str substringWithRange:r];
复制代码

作者: 秋天De神话    时间: 2014-4-11 15:36
脸皮猴 发表于 2014-4-11 15:24
你方法是不是用错了啊。。。。
NSString * s =  [ str  NSStringFromRange:r2 ];  //应该没有这个方法吧。 ...

是的,我想把字符串从 str中娶出来,    谢谢,  
作者: 秋天De神话    时间: 2014-4-11 15:41
脸皮猴 发表于 2014-4-11 15:24
你方法是不是用错了啊。。。。
NSString * s =  [ str  NSStringFromRange:r2 ];  //应该没有这个方法吧。 ...

那我 写那个方法 还是会变蓝啊   真没有这个方法吗
作者: 微尘•逐梦    时间: 2014-4-11 17:30
NSString *str = @"i love oc";   NSRange r2 =   NSMakeRange(2, 4)
作者: 微尘•逐梦    时间: 2014-4-11 17:34
NSStringFromRange()是一个函数,不是对象方法,上边的代码应改为:

NSString *str = @"i love oc";


NSRange r2 =   NSMakeRange(2, 4) ;


NSLog(@"%@",NSStringFromRange(r2));
作者: 脸皮猴    时间: 2014-4-12 10:05
秋天De神话 发表于 2014-4-11 15:36
是的,我想把字符串从 str中娶出来,    谢谢,

就我给你回复的那个就可实现了。
作者: 董月峰    时间: 2014-4-12 14:52
本帖最后由 董月峰 于 2014-4-12 14:58 编辑

// 将结构体NSRange转换成字符串
NSStringFromRange
可以写成:NSString *str = NSStringFromRange:(r2);


// 删除字符串的内容
    // 先获取love的范围
    NSRange range = [s1 rangeOfString: @"love"];
    // 再删除这个范围
    [s1 deleteCharactersInRange:range];
    //[s1 deleteCharactersInRange:NSMakeRange(2, 4)];






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2