`
zhengjj_2009
  • 浏览: 153159 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

02-NSString的连接、使用和打印

 
阅读更多

一、NSString字符串连接
NSString* string; // 结果字符串

NSString* string1, string2; //已存在的字符串

1. string = [NSString initWithFormat:@"%@,%@", string1, string2 ];
2. string = [string1 stringByAppendingString:string2];</p>
3 . string = [string stringByAppendingFormat:@"%@,%@",string1, string2];

4 . string = [string stringByAppendingFormat:@"%@%@%@%@%@%@",string1, string2, string3, string4......];

可以拼接很多,%@中间加逗号字符串里也带逗号

 

 

二、NNString用法

 

-----创建字符串的方法-----
//1、创建常量字符串
    NSString *astring = @"This is a String!";  
//2、先创建一个空的字符串,然后赋值;
//    alloc和init组合则适合在函数之间传递参数,用完之后需要手工release
    NSString *astring = [[NSString alloc] init];
    astring = @"This is a String!";
    NSLog(@"astring:%@",astring);
    [astring release];
//3、在以上方法中,提升速度:initWithString方法
    NSString *astring = [[NSString allocinitWithString:@"This is a String!"];
    NSLog(@"astring:%@",astring);
    [astring release];
//4、创建临时字符串
    NSString *astring;
    astring = [NSString stringWithCString:"This is a temporary string"];
    NSLog(@"astring:%@",astring);
// OR
    NSString *  scriptString = [NSString stringWithString:@" tell application \"Mail\"\r"];
//5、创建格式化字符串:占位符(由一个%加一个字符组成)
    int i = 1;
    int j = 2;
    NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%d.This is %i string!",i,j]];
    NSLog(@"astring:%@",astring);
    [astring release];

-----从文件读取字符串-----
    NSString *path = @"astring.text";
    NSString *astring = [[NSString alloc] initWithContentsOfFile:path];
    NSLog(@"astring:%@",astring);
    [astring release];

-----写字符串到文件----    
    NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
    NSLog(@"astring:%@",astring);
    NSString *path = @"astring.text";   
    [astring writeToFile: path atomically: YES];
    [astring release];   
-----比较两个字符串-----
//1、用C比较:strcmp函数
    char string1[] = "string!";
    char string2[] = "string!";
    if(strcmp(string1, string2) = = 0)
    {
        NSLog(@"1");
    }
 //2、isEqualToString方法   
    NSString *astring01 = @"This is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 isEqualToString:astring02];
    NSLog(@"result:%d",result);
//3、compare方法(comparer返回的三种值:NSOrderedSame,NSOrderedAscending,NSOrderedDescending)   
    NSString *astring01 = @"This is a String!";
    NSString *astring02 = @"This is a String!";   
    BOOL result = [astring01 compare:astring02] = = NSOrderedSame;   //NSOrderedSame 判断两者是否相同
    NSLog(@"result:%d",result);   

    NSString *astring01 = @"This is a String!";
    NSString *astring02 = @"this is a String!";
    BOOL result = [astring01 compare:astring02] = = NSOrderedAscending;   
    NSLog(@"result:%d",result);
    //NSOrderedAscending 判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)

    NSString *astring01 = @"this is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 compare:astring02] = = NSOrderedDescending;   
    NSLog(@"result:%d",result);     
    //NSOrderedDescending 判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)
 //4、不考虑大小写比较字符串1
    NSString *astring01 = @"this is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;   
    NSLog(@"result:%d",result);     
    //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)
//5、不考虑大小写比较字符串2
    NSString *astring01 = @"this is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 compare:astring02
                            options:NSCaseInsensitiveSearch | NSNumericSearch] = = NSOrderedSame;   
    NSLog(@"result:%d",result);     
    //NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。

三、打印日志

    NSLog(@"%@ ",order);//打印字典

    NSLog(@"%@ ",imageUrlString);

分享到:
评论

相关推荐

    Objective-C语法快速参考

    - 开发者可以使用Interface Builder轻松构建复杂的用户界面,并将其与代码进行连接。 #### 四、学习Objective-C的建议 1. **理解面向对象的概念**: - 在学习Objective-C之前,最好先熟悉面向对象编程的基本概念...

    iOS 连接获取sqlite数据库中的数据

    在iOS开发中,SQLite是一个广泛使用的轻量级关系型数据库,它允许开发者在应用程序中存储、管理和检索数据。本文将详细介绍如何将SQLite数据库文件集成到iOS应用中,并通过代码连接和获取其中的数据。 首先,我们...

    iOS,培训机构内部资料

    数据类型章节涵盖了Objective-C支持的基础数据类型,包括整型、浮点型和字符型等,以及它们的使用和注意事项。 字符串章节介绍了Objective-C中使用NSString类来处理字符串的方法,包括字符串的创建、连接、比较等...

    Objective-C 2.0 with Cocoa Foundation --- 2,从Hello,World!开始

    其他常用的Foundation类包括`NSString`(不可变字符串)、`NSArray`(有序对象集合)和`NSDictionary`(键值对集合)。 5. **Xcode开发环境**: 在Apple的开发环境中,Xcode是编写Objective-C程序的主要工具。它...

    object-c基础入门

    - **Foundation框架**:包含了许多面向数据的低级类和数据结构,如`NSString`、`NSArray`、`NSDictionary`等,是所有Cocoa应用的基础。 - **Application Kit (AppKit)**:包含所有用户界面对象和高级类,例如`...

    iOS2018面试题

    - 使用`copy`关键字可以确保NSString对象不会被修改,从而保证字符串的不变性,这对于程序的稳定性和安全性非常重要。 6. **可变集合类与不可变集合类的区别:** - 可变集合(如`NSMutableArray`)允许在运行时...

    Objective-C和Swift的转换速查手册(推荐)

    在Objective-C中,我们使用`NSInteger`、`NSString`和`BOOL`声明变量,而在Swift中,相应的类型为`Int`、`String`和`Bool`。Objective-C的常量通常用`const`关键字,但在Swift中,使用`let`声明常量更为常见。 2. ...

    iOS对FMDB进行封装实现数据持久化

    `FMDatabase`用于打开和管理数据库连接,执行SQL语句;`FMResultSet`是查询结果的迭代器;`FMDatabaseQueue`则提供了线程安全的数据库操作。 二次封装FMDB通常是为了简化API,使其更符合iOS开发的习惯,以及提供更...

    iOS面试题2019年度总结188题(下).pdf

    - **ViewModel**:作为中间层,连接Model和View,处理数据绑定和逻辑处理。 ### 第115题:MVVM架构的特点是什么? - MVVM架构强调数据驱动,通过数据绑定技术减少视图和模型之间的耦合度。 - 它简化了前端开发...

    Base32加密

    Base32编码源自Base64,但为了提高人类可读性和在某些环境中的安全性,它只使用了26个小写字母、5个大写字母以及数字“2”到“7”,共32个字符。在Objective-C编程语言中,实现Base32编码和解码是网络通信和数据安全...

    iphone mysql数据库操作代码例子.docx

    综上所述,这些代码片段展示了如何在iOS应用中与SQLite数据库进行交互,包括创建数据库连接、建立表结构以及向表中插入数据。在实际开发中,还需要考虑错误处理、事务管理以及性能优化等方面,确保数据的完整性和...

    百度地图毕业设计源码-FLSocketIM:FLSocketIM

    1.创建socket连接,通过单例管理类FLSocketManager实现 - (void)connectWithToken:(NSString *)token success:(void (^)())success fail:(void (^)())fail { NSURL* url = [[NSURL alloc] initWithString:BaseUrl]; ...

    iOS常见宏理解及使用方法

    在iOS开发中,宏定义是一种常见的编程技巧,用于简化...理解和正确使用这些宏能够帮助开发者编写更加高效、易于维护的代码。如果你想要了解更多关于这些话题的实践示例,可以查看提供的GitHub项目:ZpFate/DefineDemo。

    浅谈iOS 数据结构之链表

    - `insertNode:(BBSingleLinkedNode *)newNode beforeNodeForKey:(NSString *)key` 和 `insertNode:(BBSingleLinkedNode *)newNode afterNodeForKey:(NSString *)key` 分别在指定键的节点之前和之后插入新节点。...

    iOS将地址解析成经纬度的方法

    在`ViewController.h`中,引入`UIKit`和`CoreLocation`框架,因为我们需要使用`UIViewController`和`CLLocationManagerDelegate`协议。同时,如果要处理用户联系人地址,还需要引入`AddressBook`框架,但在这个例子...

    iOS中CPU线程调试的高级技巧分享

    首先,我们来了解一下如何开启和使用符号表。在iOS应用中,由于优化和安全性考虑,通常会关闭符号表以减小程序体积。但在调试阶段,我们需要符号表来查看函数和变量的名称。在Xcode的项目设置中,你需要确保“ Strip...

Global site tag (gtag.js) - Google Analytics