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]);
  • 相关阅读:
    安全相关小知识
    http小知识
    跨域资源共享 CORS
    Django——CRSF攻击及处理
    Django——XSS攻击及处理
    Django——模版层(前后端交互编码方式,django模板使用的两种方式,模板语法之变量&深度查询句点符,模板渲染成标签还是原字符串,过滤器+自定义,标签+自定义)
    Django——Postman介绍及安装, 测试项目
    Django——视图层(请求&响应对象,cbv和fbv,文件上传)
    一个http请求从浏览器发出去,经历的过程(即上网流程)
    Django——有名分组 无名分组,反向解析,名称空间
  • 原文地址:https://www.cnblogs.com/simman/p/3373226.html
Copyright © 2011-2022 走看看