zoukankan      html  css  js  c++  java
  • IOS FoundationKit (NSString) 知识汇总

    1. interface 代表类声明,@implement 代表类实现,@encode 代表将object-c 中类型转换成指定字符串

    2  当前char * 类型转化为字符串需要转化为NSString,转化代码如下:

    1     char cTest[12]="hello World";
    2     NSString *eString=[[NSString alloc]initWithBytes:cTest length:12 encoding:NSUTF8StringEncoding];

    3.NSString 转化为 char *代码如下:

    1     NSString *eString=@"Hello world";
    2     const char *cTestAgain1=[eString UTF8String];
    3     const char *cTestAgain2=[eString cStringUsingEncoding:NSUTF8StringEncoding];

    4.字符串的合并:

     NSString *gString=@"";
        gString =[gString stringByAppendingString:@"hello world"];
    
    注:由于“stringByAppendingString”会将两个字符串合并,合并的结果以新的形象形式返回,所以gString对象执行后的指针都是新的。
    

    5.字符串的拆分操作:

       NSString *gString=@"2013/10/01";
       NSLog(@"[%@]",[gString componentsSeparatedByString:@"/"]);
    

     6.如果需要从一个字符串中提取部分的内容:

    1    NSString *hString = @"Hello World";
    2     hString = [hString substringWithRange:NSMakeRange(0, 5)];
    hString 最后的内容将会是@“Hello”.这里我们传入一个NSRange作为参数,NSRange其实是一个封装好的结构表示一个范围,他有两个值:位置和长度.
    如果我们始终是从首字母取5位字母的话,以下代码可读性和速度会更好
    1 NSString *hString = @"Hello World";
    2 hString = [hString substringToIndex:5];

    7.字符串比较大小的情况

        NSString *aString = @"Hello World";
        NSString *bString=@"Hello worlf";
        NSComparisonResult compareResult=[aString compare:bString];
    

     8.从一个字符串查找特定内容:

        NSString *aString = @"Hello World";
        NSRange range=[aString rangeOfString:@"Wor" options:NSCaseInsensitiveSearch];
    

     9.在字符串中替换特定内容:

        NSString *jString=@"hello Man";
        jString = [jString stringByReplacingOccurrencesOfString:@"Man" withString:@"World" options:NSCaseInsensitiveSearch range:NSMakeRange(0, jString.length)];
    

     10.字符串大小写转换:

    1     NSString *kString=@"hello World";
    2     NSLog(@"大写版本:%@",[kString uppercaseString]);
    3     NSLog(@"小写版本:%@",[kString lowercaseString]);

    11.数值转换代码:

        NSString *lString=@"3.1415926";
        NSLog(@"%f",[lString floatValue]);
        NSLog(@"%d",[lString intValue]);
    

     12.字符串的路径相关使用:

        NSString除了基本的字符串集成功能之外,更是提供了方便的路径操作功能供开发者使用。

        比如现在有一个放在A用户的桌面上的一个名为test.txt的文件,此文件的路径如下:

        NSString *aString=@"/Users/A/Desktop/test.txt";

        当需要知道此路径文件的文件名时,代码如下:

        aString=[aString lastPathComponent];

        当需要知道此文件的文件类型时,代码如下:

        aString=[aString pathExtension];

        当需要知道此路径的用户名时,代码如下:

        aString=[[aString pathComponents]objectAtIndex:1];

       

        苹果中,在用户目录下可以使用符号“~”来代替用户路径,所以如果需要将“~”转换为全部路径,代码如下:

        NSString *aString=@"~/Desktop/test.txt";

        aString=[aString stringByExpandingTitldeInPath];

        和stringByExpandingTitldeInPath逆向相对的方法为stringByAbbreviatingWithTildeInPath,他将全路径省略格式“~”

    15.NSString 保存到硬盘(写入到文件):

        NSString *aString=@"1234455";

        NSError *error=nil;

        [aString writeToFile:@"/Users/A/Desktop/test.txt" atomically:Yes encoding:NSUTF8StringEncoding error:&error];

        其中writeToFile的第二个参数设置为Yes,表示让系统在写test.txt文件时不要直接写到目标路径去,而是开一个临时性的文件来保存,名字取成和test.txt不一样。待临时性文件保存完成后再替换掉原来保存的/users/A/Desktop/test.txt路径下的文件。这样的好处是,在系统在保存时发生错误了,原来的文件不会被破坏掉。

    
    
  • 相关阅读:
    python 安装Crypto.Ciphe
    ProxyPool 爬虫代理IP池配置采坑
    2020渗透测试面试问题大全
    Windows Server 2016抓取明文密码
    应用安全 – 端口漏洞整理
    .net core docker+ gogs + jenkins 自动化部署
    .net HttpClient 回传实体帮助类
    .net list转树状结构
    ABP 临时禁用TenantId IsDelete过滤
    ABP 使用cache缓存
  • 原文地址:https://www.cnblogs.com/haibosoft/p/3653890.html
Copyright © 2011-2022 走看看