【OC学习-17】NSNumber和NSString介绍以及一些操作方法

来源:互联网 发布:单片机显示屏出现黑边 编辑:程序博客网 时间:2024/05/17 02:26

(1)NSNumber数字对象:虽然有int和float这些基本数字变量,但终究不是对象,所以不能接受消息(就是被调用),所以需要数字对象

#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){    @autoreleasepool {//格式和NSString创建类似,只是后面的初始化函数要有针对性,这是框架里面内置的        NSNumber *intNumber=[[NSNumber alloc]initWithInt:18]; //这一条和下一条等价<p style="margin-top: 0px; margin-bottom: 0px; font-size: 11px; font-family: Menlo;"><span style="color: #703daa"><span style="white-space:pre"></span> NSNumber</span> *int111111=[<span style="color: #703daa">NSNumber</span> <span style="color: #3d1d81">numberWithInt</span>:<span style="color: #272ad8">18</span>];</p>        NSNumber *floatNumber=[[NSNumber alloc]initWithFloat:18.22];        NSLog(@"%@",intNumber);        NSLog(@"%@",floatNumber);//也可以把数字对象转换成基本数值型,intvalue这些也是内置的方法        int int1=[intNumber intValue];        float float1=[floatNumber floatValue];        NSLog(@"%d",int1);        NSLog(@"%.1f",float1);    }    return 0;}


(2)NSString字符串对象

//创建字符串常量对象NSString *str1=@"hello";//创建空字符串对象NSString *str2=[[NSString alloc]init];NSString *str3=[NSString string];//快速创建一个字符串对象NSString *str4=[[NSString alloc]initWithString:@"andy"];NSString *str5=[NSString stringWithString:@"tom"];//创建格式化的字符串对象NSString *str6=[[NSString alloc]initWithFormat:@"%d",10];NSString *str7=[NSString stringWithFormat:@".1f",10.8];//比较两个参数的内容值是否相同if ([str1 isEqualToString:str2]) ...//判断两个对象变量是否是同一个,即指向同一个地址if (str1==str2) ...//比较大小if ([str1 caseInsensitiveCompare:str2]) //字符串长度NSLog(@"%d",[str1 length]);//字符串大写、小写、首字母大写NSLog(@"%@",[str1 uppercaseString]);NSLog(@"%@",[str1 lowercaseString]);NSLog(@"%@",[str1 capitalizedString]);        //分割成数组,以空格分隔NSArray *arr=str1 componentsSeparatedByString:@" ";//剪切字符串,从开始到2(不包含2);从2开始(包含2)到最后NSString * str8=[str1 substringToIndex:2];NSString * str9=[str1 substringFromIndex:2];NSRange range={4,2};//从什么范围开始剪切,和下面是等价的,range是内置的方法range.location=4;range.length=2;NSString *str10=[str1 substringWithRange:range];
</pre><pre name="code" class="objc">//把两个字符连接NSString *str11=[str1 stringByAppendingString:str2];NSString *str12=[str1 stringByAppendingFormat:@"",str2];NSString *str13=[[NSString alloc]initWithFormat:@"%@ and %@",str1,str2];NSRange range2=[str1 rangeOfString:@"hello"];
//NSMutableString创建的对象是可变变量,可以增减替换操作        NSMutableString *mutstring1=[[NSMutableString alloc]initWithFormat:@"hello"];[mutstring1 insertString:@"world" atIndex:5];[mutstring1 replaceCharactersInRange:(0,3) withString:@"eee"];[mutstring1 deleteCharactersInRange:(0,3)];

还有一些字符串判断,BOOL value1=[str1 hasPrefix:@"www"];判断是否以www开头,值是YES或NO。同理,BOOL value2=[str1 hasSuffix:@".png"];判断以什么结尾。


使用==判断两个字符串是否相等,其实是判断他们的地址是否相同。所以我们一般判断是用isEqualToString这些方法。我们在iOS开发中用if判断两个指针地址是否相同,用得就是==或者!=,而不是isEqualToString。


还有一些比较强悍的方法,利用替换可以实现替换、删除、插入等功能,如方法stringByReplacingOccurrencesOfString。


还有把内容写入到文件的方法wirteToFile。从文件中读取内容的方法stringWithContentOfFile。这2个方法有个&error参数,如果正常,则error==nil,否则会吧错误信息记录到error中。所以我们可以利用error是否等于nil做判断是否读写成功。


总结:其实,我们只需要了解,不需要全部记忆,因为在xcode写函数的时候是有提示的。

0 0
原创粉丝点击