zoukankan      html  css  js  c++  java
  • Objective-c——NSString

    本文首发在:http://www.simman.cc/article/2135,转载请注明出处!

    NSString简介                                                                                                     

    NSString是一个对象类型。NSString是NSObject(Cocoa Foundation的基础对象)的子类,所以具有NSObject的所有特性,NSString对象由unichar字符组成。unichar字符是符合Unicode标准的多字节字符。而且不别担心字符串的内部表示,因为NSString类已经自动处理了。

    NS是Cocoa类对象类型的前缀,来源于史蒂夫-乔布斯被苹果开除那段时间建立的公司NeXT.@是Cocoa元素的前缀,很多地方我们会看到,比如接下来...

    一、NSString                                                                                                     

    1 创建NSString对象

    ①、此方法不需要手动释放内存。

    1 NSString*aString =@"This is String";  //需要在头部放一个@符号

    ②、此方法需要手动释放内存

    1 NSString*aString =[[NSString alloc] initWithFormat:@"This is String"];

    2 使用NSString对象

    1 NSString *aString = @"Programming is fun";
    2 NSLog(@"%@", aString);

    3 释放NSString

    1 [aString release]; 

    3 快速使用一个NSString

    1 NSLog([NSString stringWithFormat:@"一个NS字符串"]);
    这种快速方法返回的是一个return为1,autorelease的对象,不需要操心它的内存管理

    4 常用方法

     1 NSString * str1 = @"This is string A";
     2 NSString * str2 = @"This is string B";
     3 NSString * res;
     4 NSComparisonResult compareResult;
     5 
     6 //计算字符串中的字符
     7 NSLog(@"Length of str1: %lu", [str1 length]);
     8 
     9 //将一个字符串复制到另一个字符串
    10 res = [NSString stringWithString: str1];
    11 NSLog(@"Copy: %@", res);
    12 
    13 //将一个字符串复制到另一个字符串的末尾
    14 str2 = [str1 stringByAppendingString: str2];
    15 NSLog(@"Concatentation: %@", str2);
    16 
    17 //验证两个字符串是否相等
    18 if ([str1 isEqualToString: res] == YES) {
    19     NSLog(@"str1 == res");
    20 }else{
    21     NSLog(@"str2 @= res");
    22 }
    23 
    24 //验证一个字符串是否小于、等于或者大于另一个字符串
    25 compareResult = [str1 compare: str2];
    26 if (compareResult < NSOrderedAscending) {
    27     NSLog(@"str1 < str2");
    28 }else if (compareResult == NSOrderedSame){
    29     NSLog(@"str1 = str2");
    30 }else{
    31     NSLog(@"str1 > str2");
    32 }
    33 
    34 //将字符串转换为大写
    35 res = [str1 uppercaseString];
    36 NSLog(@"UppercaseString conversion: %s", [res UTF8String]);
    37 
    38 //将字符串转换为小写
    39 res = [str1 lowercaseString];
    40 NSLog(@"LowercaseString conversion: %s", res);
    41 
    42 
    43 NSLog(@"Original string: %@", str1);

    二、Description方法:

    NSLog(@"%@", [对象 description]),利用这种方法是可以打印对象的,但是默认是显示的类名和对象在内存中的地址。而我们需要更详细的内容,那么可以重新定义Description方法。

    1 //方法实现
    2 - (NSString *) description {   
    3     return [NSString stringWithFormat: @"name = %@, age = %i, height = %i, width = %i", _name, _age, _height, _width];
    4 }
    5 
    6 //打印(u 是创建的对象)
    7 NSLog(@"%@", [u description]);
  • 相关阅读:
    H5调用本地摄像头[转]
    [转]把树莓派配置成无线路由器
    [转]Raspberry Pi做成路由器
    websocket for python
    HRMS(人力资源管理系统)-SaaS架构设计-概要设计实践
    HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-下篇
    HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-上篇
    系统架构-设计模式(适配器、观察者、代理、抽象工厂等)及架构模式(C/S、B/S、分布式、SOA、SaaS)(干货)
    HRMS(人力资源管理系统)-从单机应用到SaaS应用-系统介绍
    2018,全新出发(全力推动实现住有所居)
  • 原文地址:https://www.cnblogs.com/simman/p/3373226.html
Copyright © 2011-2022 走看看