zoukankan      html  css  js  c++  java
  • NSNumber和NSString

    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中“调用对象方法”的语法形式为[类/对象名 方法名:参数]
    实际上,OC使用的是消息传递机制,而非C++/Java的函数调用机制。

    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子串
    @property(readonly) NSUInteger length;
    ```:长度
    - ```isEqualToString:expStr```:两字符串是否相等
    - ```intValue```:转换为整型(相当于atoi),其他类型同理
    - ```rangeOfString:expStr```:返回一个```NSRange```对象,该对象有两个属性```location```和```length```(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中填写参数的语法更符合自然书写习惯一些。
  • 相关阅读:
    Shiro学习(一)总体介绍
    Spring-MVC理解之一:应用上下文webApplicationContext
    现代软件工程 第十四章 【质量保障】 练习与讨论
    rtsp 流媒体服务器,播放器
    ios app 打包
    xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH ​
    Bootstrap日期和时间表单组件
    微信小程序组件action-sheet
    微信小程序组件radio
    微信小程序组件slider
  • 原文地址:https://www.cnblogs.com/ybn-juan/p/12260329.html
Copyright © 2011-2022 走看看