首页 > 其他 > 详细

NSNumber类和NSString类

时间:2020-02-04 18:58:48      阅读:66      评论:0      收藏:0      [点我收藏+]

NSNumber

  • 声明一个NSNumber对象:
NSNumber *boolNumber = [NSNumber numberWithBool:YES];
NSNumber *charNumber = [NSNumber numberWithChar:'A'];
NSNumber *intNumber = [NSNumber numberWithInt:1];
NSNumber *floatNumber = [NSNumber numberWithFloat:3.14];
NSNumber *doubleNumber = [NSNumber numberWithDouble:3.141];

numberWithBool、numberWithChar这些应该是NSNumber的静态方法,相当于:NSNumber.numberWithBool(YES);

  • 获得NSNumber对象的值:
BOOL boolValue = [boolNumber boolValue];
char charValue = [charNumber charValue];

相当于boolNumber.boolValue();

OC中调用对象方法的语法形式为[类/对象名 方法名:参数]

NSString

定义和输出

  • 定义一个NSString对象:
    NSString *language = @"OC";

  • 用已有字符串格式化定义新字符串:NSString *greeting = [[NSString alloc] initWithFormat:@"Hello, %@!", lang];(先调用[NSString alloc]方法)。

  • 使用控制台日志输出一个NSString:NSLog(@"greeting:%@", greeting);

  • 使用printf输出NSString:printf("%s",[greeting UTF8String]);

    这里调用NSString实例的UTF8String方法将对象转换成C风格字符串,相当于C++的expStr.c_str()

对象实例方法

  • lowercaseString&capitalizedString:转换为小写/大写
  • hasPrefix:expStr&hasSuffix:expStr:是否以expStr为前缀/后缀
  • containsString:expStr:是否含有expStr子串
  • length:长度
  • isEqualToString:expStr:两字符串是否相等
  • intValue:转换为整型(相当于atoi),其他类型同理
  • rangeOfString:expStr:返回一个NSRange对象,该对象有两个属性locationlength(unsigned long类型),分别表示子串expStr在原字符串中的位置和长度
  • characterAtIndex:i:相当于str[i]或C++的str.at(i)
  • substringFromIndex:i:从下标i开始向后截取字符串
  • substringToIndex:i:从头到下标i截取字符串
  • stringByReplacingCharactersInRange:expRange withString:expStr:用expStr替换expRange范围内的所有字符
  • stringByAppendingString:expStr: 在末尾添加字符串expStr
  • stringByTrimmingCharacterInSet:expCharSet:使用一个NSCharacterSet对象expCharSet,从原字符串中过滤掉目标字符集中含有的字符

总结:

NSString类还有很多实用的普通/静态方法,留到后续的学习和实践中边学边用。此外可以发现OC中对象方法的方法名都非常的长,但相较于同样有此问题的Java,OC中填写参数的语法更符合自然书写习惯一些。

NSNumber类和NSString类

原文:https://www.cnblogs.com/ybn-juan/p/12260329.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!