`
linwwwei
  • 浏览: 217958 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

NSString 的理解

阅读更多

1, 创建一个NSString对象
简单方法:
NSString *aString = @"我是个NS字符串!";  //除了引号外加@, 没别的区别
*上面的不需要操心内存管理哟~
复杂一点儿:(需要内存管理的)
NSString *aString = [[NSString alloc] initWithFormat:@"这也是个NS字符串!"];
*initWithFormat是其中一个初始化方法,常用的还有
//从一个文件读取需要的内容- (id)initWithContentsOfFile:(NSString *)path encoding:(NSStringEncoding)enc error:(NSError **)error//从一个地址读取需要的内容- (id)initWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error
*以上方法得到的NSString的retain值为1,所以记得release掉阿~~
2,使用一个NSString对象
NSString *aString = @"This is a NSString"; NSLog(aString);   //在控制台输出信息,该函数方法需要一个NSString对象作为参数 NSLog("这样不会好使的"); NSLog(@"这样就会好使拉~");
再比如设置一个UIView的标题:
[UIView setTitle:aString]; [UIView setTitle:@"标题"]; UIView.title = aString;
3,释放NSString
[aString release]; //对象将被系统释放掉咯
*记得不要释放直接用 = @”xxx” 的NSString对象哟,系统会管的~
4,快速使用一个NSString
NSLog([NSString stringWithFormat:@"一个NS字符串"]);
//这种快速方法返回的是一个retain为1,autorelease的对象,不需要操心它的内存管理
5,常用方法
我喜欢NSString的地方就在于很多方法非常方便,比如:
nString = [aString substringToIndex:4]; //nString将得到aString中的前四个字符

6,常见错误

NSString *aString = [NSString alloc] initWithString:nil];(会出错,相当于用nil初始化)

NSString *aString = [NSString alloc] initWithString:@""];(ok)

<!--StartFragment-->

7,字符串

将几个NSString字符串进行连接

NSString* str1; NSString* str2

1. NString* str3= [NSString initWithFormat:@"%@,%@", str1, str1];

2. NString* str3= [string1 stringByAppendingString:str2];

3 . NString* str3= [string stringByAppendingFormat:@“%@,%@”,str1, str2]; 

<!--EndFragment-->

8,类型转换

int 到NSString :[NSString stringWithFormat:@"%d",myInt];

NSString到int,float都是 int myInt = [str1 intValue];

日期转为NSString

<!--StartFragment-->

<!--StartFragment-->

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"MM-dd-hh-mm-ss"];

NSString*locationString=[formatter stringFromDate: [NSDate date]];

NSArray*timeArray=[locationStringcomponentsSeparatedByString:@"-"];

float value_D=   [[timeArray objectAtIndex:1]floatValue]; 
   

float value_h=  [ [timeArray objectAtIndex:2]floatValue]; 
   

float value_m= [ [timeArray objectAtIndex:3]floatValue]; 
   

float value_s=  [ [timeArray objectAtIndex:4]floatValue]; 
   

float  value_All=value_D*24*60*60+value_h*60*60+value_m*60+value_s;

[formatter release];

9,常见方法

<!--StartFragment-->

<!--StartFragment-->

NSString方法

+(id) stringWithContentsOfFile:path encoding:enc error:err

创建一个新字符串并将其设置为path指定的文件的内容,使用字符编码enc,如果非零,则返回err中错误

+(id) stringWithContentsOfURL:url encoding:enc error:err

创建一个新的字符串,并将其设置为url的内容,使用字符编码enc,如果非零,则返回err中的错误

+(id) string

创建一个新的空字符串

+(id) stringWithString:nsstring

创建一个新的字符串,并将其设置为nsstring

-(id)initWithString:nsstring

将分配的字符串设置为nsstring

-(id) initWithContentsOfFile:path encoding:enc error:err

将字符串设置为path制定的文件的内容

-(id) initWithContentsOfURL:url encoding:enc error:err

将字符串设置为url(NSURL *)url的内容,使用字符编码enc,如果非零,则返回err中的错误

-(id) (UNSIgned int)length

返回字符串中的字符数目

-(unichar)characterAtIndex:i

返回索引iUnicode字符

-(NSString *)substringFromIndex:i

返回从i开始知道结尾的子字符串

-(NSString *)substringWithRange:range

根据指定范围返回子字符串

-(NSString *)substringToIndex:i

返回从该字符串开始到索i的子字符串

-(NSComparator *)caseInsensitiveCompare:nsstring

比较两个字符串,忽略大小写

-(NSComparator *)compare:nsstring

比较两个字符串

-(BOOL)hasPrefix:nsstring

测试字符串是否以nsstring开始

-(BOOL)hasSuffix:nsstring

测试字符串是否以nsstrng结尾

-(BOOL)isEqualToString:nsstring

测试两个字符串是否相等

-(NSString *) capitalizedString

返回每个单词首字母大写的字符串(每个单词的其余字母转换为小写)

-(NSString *)lowercaseString

返回转换为小写的字符串

-(NSString *)uppercaseString

返回转换为大写的字符串

-(const char*)UTF8String

返回转换为UIF8字符串的字符串

-(double)doubleValue

返回转换为double的字符串

-(float)floatValue

返回转换为浮点值的字符串

-(NSInteger)integerValue

返回转换为NSInteger整数的字符串

-(int)intValue

返回转换为整数的字符串

 

NSMutableString方法

+(id) stringWithCapacity:size

创建一个字符串,初始包含size的字符

-(id) initWithCapacity:size

使用初始容量为size的字符串来初始化字符串

-(void) setString:nsstring

将字符串设置为nsstring

-(void) appendString:nsstring

在接收者的末尾附加nsstring

-(void) deleteCharactersInRange:range

删除指定range中的字符

-(void) insertString:nsstring atIndex:i

以索引i为起始位置插入nsstring

-(void) replaceCharactersInRange:range withString:nsstring

使用nsstring替换range指定的字符

-(void) replaceOccurrencesOf

String:nsstring withString:nsstring2 options:opts range:range

根据选项opts。使用指定range中的nsstring2替换所有的nsstring。选项可以包括NSBackwardsSearch(从范围的结尾 开始搜索)NSAnchoredSearch(nsstring必须匹配范围的开始)NSLiteralSearch(执行逐字节比较以及 NSCaceInsensitiveSearch的按位或组合)

<!--EndFragment-->

<!--EndFragment-->

<!--StartFragment-->

在你自己的初始化方法中,需要调用自己的指定初始化函数或者超类的指定初始化函数。一定要将超类的初始化函数的值赋给self对象,并返回你自己的初始化方法的值。超类可能返回一个完全不同的对象

<!--EndFragment-->
0
0
分享到:
评论

相关推荐

    ios-封装了FMDB,用户只需要关心字段和字段值,逻辑完全不要关心,用起来及其方便快捷,非常适合新手.zip

    4.源码及其简单,易于理解和掌握。 5.扩展自己的功能也非常得简单,容易。 6,只关心字段和字段值,完全不用关心数据库操作逻辑. 特别提示:字段值全部以字符串的形式统一处理 常用的api如下: /** 获取数据库...

    详解IOS宏与常量的使用(define,const)

    小编给大家整理了关于IOS中宏(define)与常量(const)的正确使用方法,有助于大家更加深入的理解这方面的内容。 当我们想全局共用一些数据时,可以用宏、变量、常量 宏: #define HSCoder @”汉斯哈哈哈” 变量: ...

    iOS基础知识之@property 和 Ivar 的区别

    我们先大概这样理解: @property = Ivar + setter + getter Ivar Ivar可以理解为类中的一个变量,主要作用是用来保存数据的。 我们不妨来看个例子,通过下边的例子能够很清楚的解释这两个东东: 我们新建一个...

    Object-C语言教程&案例,要点难点,代码示例,代码解析

    Foundation框架:学习Foundation框架中提供的常用类,如NSString、NSArray、NSDictionary等。 Cocoa和UIKit:了解这两个框架提供的界面开发相关类和接口。 协议与代理:理解协议(Protocol)和代理(Delegate)设计模式...

    iOS常见宏理解及使用方法

    NSString *const kFoundationExportString = @Hello World; NSString *const kExternString = @Hello World; 然后在.h文件中加上以下声明, 就可以在导入该.h文件的类中访问该常量。 FOUNDATION_EXPORT ...

    category练习代码

    个人对于category理解后的练习,一个是自己自定义的类,一个是NSString的类别

    DynamicOC:深入理解iOS热修复原理

    深入理解iOS热修复原理背景顾名思义热bug就是使App有了线上bug的能力,但是遗憾的是苹果出于安全的考虑考虑了热修复。虽然App审核加快了,但是依然无法很好的控制线上bug的影响范围。 JSPatch存在审核风险,所以我们...

    iOS缓存文件大小显示功能和一键清理功能的实现方法

    为方便读者和未来自己更好理解,我们创建这样场景。(在表视图的清除缓存一单元格内创建一个UILabel *cacheLabel用于显示当前缓存,当点击单元格弹出提示框,点击确定,清除缓存)。  下面是实现代码: #pragma ...

    iOS中valueForKeyPath的常用方法法示例

    这个方法不是很理解,实际上,这可以扩展到KVC中的高级用法上去。该方法非常强大。下面就来给大家详细介绍iOS中valueForKeyPath的常用方法,话不多说了,来一起看看详细的介绍吧 valueForKeyPath的常用方法 1、...

    DevDataTool:编码转换、摘要(hash)、加解密(MD5、SHA1、SHA256、SHA3、SM3、HMAC、DES、3DES、AES、SM4)

    实现mac端调试工具验证结果正确性,代码兼容iOS和MacOS,其中SM3,SM4使用C语言代码,补位代码和分组模式代码自行通过objective-c代码实现,加强理解。代码基本通过category形式提供。 当前完成 NSString和NSData各种...

    具备直接操作数据库的功能

    4.源码及其简单,易于理解和掌握。 5.扩展自己的功能也非常得简单,容易。 6.支持arc和mrc 常用的api如下: /** 数据库中是否存在表 */ + (BOOL)isExistInTable; /** 保存或更新 * 如果不存在主键,保存, * 有...

    IOS 图文混排(CoreText.framework)详解及实例

     本文主要介绍了IOS图文混排的资料,这里整理了在网上查找的内容,帮助理解,掌握这部分知识,以下就是整理的内容:  利用CORETEXT进行图文混排。 实现代码: void RunDelegateDeallocCallback( void* refCon ){ ...

    30分钟快速带你理解iOS中的谓词NSPredicate

    一、引言 在现代汉语的解释中,谓词是用来描述或判断客体性质、特征或者客体之间关系的词项。通俗的说,它是描述事物属性的。在iOS开发Cocoa框架中,有提供NSPredicate类,这个类通常也被成为谓词类,其主要的作用是...

    iOS(闭包)block传值详解

    其中block 因为其简洁实用规范的代码 无疑是大牛们传值的不二选择 但对于初学者来说要理解并能运用 起初确实有些难以理解 以下我将细细的介绍下block 首先我总结了一下block的公式: 步骤1.block 的声明 返回值类型...

    Objective-C 宏定义详细介绍

    喜欢读一些开源项目源码的人,总是会发现,大神的代码中总是有那么一些简短而高效的宏定义,点击进去一看,发现晦涩难懂,别说学习了,有时候理解都是一种困难,但是宏定义本身并没有那么难,但是写出一个好的宏当然...

    iOS App中UIPickerView选择栏控件的使用实例解析

    UIPickerView控件是比UIDatePicker控件更普通的Picker控件,UIDatePicker控件可以理解成是从UIPickerView控件加工出来的专门进行日期选择的控件。 UIPickerView控件的用法比UIDatePicker复杂一点。本文中的小例子将...

    iOS异步下载图片实例代码

    尽管有很多现存的第三方库可以将下载和缓存功能都封装好了供开发者使用,但从学习的角度出发,看懂源码,理解其中的原理,结合自身的实际需求写出自己的代码是很必要的。在刚结束的Demo中,有用到异步图片下载功能,...

    IOS 静态方法与动态方法详解

    IOS 静态方法与动态方法详解 ... 从根本来说,c++、objective-c、java都发源于c语言,因此这些语言实际上可以理解了经过封装的c语言,所以它们更加方便使用但效率不如c语言。  因此,对象的底层实际上就是结构体

Global site tag (gtag.js) - Google Analytics