(转)NSString 类的使用】的更多相关文章

NSString类中提供了这样三个方法用于获取子字符串: – substringFromIndex://取字符串长度从0开始,当index=str.length时字符串为空"" – substringWithRange:// – substringToIndex: NSString *str = @"12345"; 1. // NSString *subString0 = [str substringFromIndex:-1];   //会越界 NSString *…
NS是Cocoa类对象类型的前缀,来源于乔布斯建立的另一家公司--NeXTNSString的使用方法,和Swift语言中的String有很多相似之处. 1.字符串的定义String类 var str1:String = "My name is strengthen" NSString类 var nsStr1:NSString = "My name is strengthen" var nsStr2:NSString = NSString(string: "…
替换NSString类中的stringWithFormat:方法 先给出源码: YXUseful.h // // YXUseful.h // NSString // // Copyright (c) 2014年 Y.X. All rights reserved. // #import <Foundation/Foundation.h> NSString * String(NSString *format, ...); YXUseful.m // // YXUseful.m // NSStrin…
实际编程总会涉及到比较两个字符串的内容,一般会用 [string1 isEqualsToString:string2] 来比较两个字符串是否一致.对于字符串的isEqualsToString方法,需要逐个比较字符串的内容,是比较耗时的操作. 偶然间我发现NSString类里有个hash方法,作用是返回NSString实例的散列值.众所周知,内容相同的字符串拥有相同的散列值,内容不同的字符串拥有不同的散列值.所以完全可以根据字符串散列值来判断两个字符串是否一致. 于是上面比较字符串的写法可以这么写…
1.NSString常见方法 NSString是 Objective-C 中核心处理字符串的类之一 创建常量字符串,注意使用"@"符号. NSString *astring = @"This is a String!"; 创建空字符串,给予赋值. NSString *string = [NSString new]; string = @"哈哈哈"; 创建格式化字符串:占位符(由一个%加一个字符组成) [NSString stringWithFor…
多态 1.没有继承就没有多态 2.代码体现:父类类型的指针指向子类对象 类的创建: #import <Foundation/Foundation.h> // 动物 @interface Animal : NSObject - (void)eat; @end @implementation Animal - (void)eat { NSLog(@"Animal-吃东西..."); } @end // 狗 @interface Dog : Animal - (void)run;…
C语言中,字符串是有char(ASC||码)字符组成. OC中,字符串是由unichar(Unicode)字符组成. 1.字符串(NSString) NSString:不可变字符串,即:创建以后,内容和长度不能更改. NSMutableString:可变字符串,即:创建以后,内容和长度可以修改. 2.不可变字符串创建 1> 初始化方法创建对象 ,); NSString *string1= [[NSString alloc] initWithFormat:@"hello wold"…
一.NSString字符串连接NSString* string; // 结果字符串 NSString* string1, string2; //已存在的字符串 1. string = [NSString initWithFormat:@"%@,%@", string1, string2 ];2. string = [string1 stringByAppendingString:string2];</p>3 . string = [string stringByAppend…
创建一个字符串 ) NSString *s = @"aaaa"; ) NSString *s1=[NSString new]; s1=@"bbb"; )格式化创建字符串 NSString * imName=[NSString stringWithFormat:@"%-2d.jpg",i]; )用一个已经存在的字符串创建一个新的字符串 NSString *s2=[[NSString alloc]initWithString :s1]; NSStri…
几种常见的用法为:字符串的创建.字符串的搜索.字符串的比较.字符串的转换 用途一:字符串的创建 void ex1() { //1.常量字符串的对象 NSString *str1 = @"hello world"; NSLog(@"str1 = %@",str1); //2.通过类方法创建字符串 NSString *str2 = [NSString stringWithString:str1]; NSLog(@"str2 = %@",str2);…
官网连接地址:https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Strings/Articles/CreatingStrings.html#//apple_ref/doc/uid/20000148-CJBCJHHI 链接地址:http://www.cnblogs.com/lovekarri/articles/2380033.html 温故知新,常用常新   //1.创建常量字符串. NSString *a…
创建一个新字符串并将其设置为 path 指定的文件的内容,使用字符编码enc,在error上返回错误 + (id)stringWithContentsOfURL:(NSURL *)url encoding:(NSStringEncoding)enc error:(NSError **)error; 创建一个新字符串并将其设置为 url 指定的内容,使用字符编码enc,在error上返回错误+ (id)stringWithContentsOfFile:(NSString *)path encodi…
typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending}; 其中,NSOrderedSame 表示比较的两个字符串完全一致, 同时,在这个枚举中,它的值是 0. 字符串比较在程序中很常见,比如: if ([str1 compare:@"some text"] == NSOrderedSame) { // Do somethin…
问题引入,我想给NSString类扩展一些新的方法.在Objective-C中可以有两种方法,一是继承,二是类别.本文先不讨论类别,我们用继承的方法试一下: @interface StringEx : NSString - (void)myFunc; @end @implementation StringEx - (void)myFunc { NSLog(@"myFunc"); } 我想用下面的方法使用: StringEx* str = [[StringEx alloc] initWi…
第一个字符串: //必须在字符串的前面加上@符号, NSString* str=@"shouqiang_Wei";//输出以%@输出. NSLog(@"%@",str); 结果:2013-08-21 14:06:22.963 NSNumber[611:707] shouqiang_Wei NSString 类原型: @interface NSString : NSObject <NSCopying, NSMutableCopying, NSCoding>…
经过前一段时间C语言 的学习,从这周开始正式步入OC的学习 OC中类的定义:同一类事物的抽象,对象则与之相反,是抽象的类的具体化. OC中定义属性字段时通常在元素前面加上_如 NSString * _name; int _age; BOOL _sex; 未经声明的变量一般为受保护的变量,无法被外界访问,在OC中存在如下三种修饰符 默认为被保护的(protected: 意味着只能够本类或者子类可以访问) 私有的(private: 只能够本类访问) 共有的(public: 所有的类都能够访问) 在某…
可变与不可变的字符串 --1-- Foundation框架介绍 1.1 框架介绍 --2-- NSString 2.1 NSString介绍及使用 2.2 NSString创建方式  2.3 从文件中读取/存储字符串 2.4 字符串的比较 2.5 前后缀检查及搜索 2.6 字符串的截取和替换 2.7 获取字符串的每个字符 2.8 字符串和其他数据类型转换 2.9 NSString去除空格  --3-- NSMutableString 3.1 NSMutableString 基本概念 3.2 字符…
为一个类扩展功能:1.子类化:2.修改源代码:3.定义协议:4.Category:类目 1.Category 1> Category的作用 Category:也叫分类,类目,是为没有源代码的类扩充功能. 扩充的功能会成为原有类的一部分,可以通过原有类或者原有类的对象直接调用,并且可继承. 该方法只能扩充方法,不能扩充实例变量. 作为子类的替代手段(不需要定义子类,直接使用现有类的对象调用方法). 一个庞大的类可以分模块开发,能够更好的对类中的方法进行更新和维护. 2> Category文件的创…
话题从sunnyxx的<黑幕背后的Autorelease>开始 文章开头有个小例子 __weak id reference = nil;- (void)viewDidLoad { [super viewDidLoad]; NSString *str = [NSString stringWithFormat:@"sunnyxx"]; // str是一个autorelease对象,设置一个weak的引用来观察它 reference = str;}- (void)viewWill…
OC语言类的深入和分类 一.分类 (一)分类的基本知识  概念:Category  分类是OC特有的语言,依赖于类. 分类的作用:在不改变原来的类内容的基础上,为类增加一些方法. 添加一个分类: 文件结构图: 在分类中添加一个方法 Study方法的实现 测试程序: (二)分类的使用注意 (1)分类只能增加方法(包括类方法和对象方法),不能增加成员变量 (2)在分类方法的实现中可以访问原来类中的成员变量: (3)分类中可以重新实现原来类中的方法,但是会覆盖掉原来的方法,导致原来的方法无法再使用(警…
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute…
给NSString增加Java风格的方法 文章目录 我实在受不了 NSString 冗长的方法调用了,每次写之前都要查文档.特别是那个去掉前后多余的空格的方法,长得离谱.与之对应的别的语言,拿 java 来说,对应的方法名叫 trim.拿 python 来说,对应的方法名叫 strip.但是 Objective-C 呢?是下面这段: [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacte…
1 NSData和NSMutableData的基本使用 1.1 问题 NSData类是IOS提供的用于以二进制的形式操作文件数据的类,NSData有两个常用的属性length和bytes,length表示字节的数量,bytes起始字节的位置是一个指针类型,本案例演示NSData和NSMutableData的基本使用,使用NSData /NSMutableData对象保存一个C语言字符串. 1.2 方案 首先使用Xcode创建一个命令行项目,在main函数中创建一个NSData对象data,使用i…
1 重构Student和Book类 1.1 问题 本案例需要创建一个Book类,类中有一个整型price属性,用于记录书的价格.还需要创建一个Student类,类中有两个带参属性,它们是整型的年龄age和类Book类型的book,分别用于存储学生的年龄和学生正在学习的书,book属性带有copy参数,并且有一个study方法,用于显示年龄为age的学生学习价格为book.price的书. 在主程序中创建Student类的一个对象和Book类的两个对象,首先让Student类的对象拥有一个Book…
1 分类练习 1.1 问题 分类是Objective-C提供的一种类的补充和扩展方法,补充和扩展的每个部分被称为分类,分类本质上是类的一部分.提出分类概念的作用有两个:一是分解大的代码,提高程序可读性:另一个是给已有的类添加新方法. 1.2 方案 定义一个TRMyClass类,在类中包含一个属性property,用于存储一个整型数,同时定义一个方法method1,该方法在控制台输出“method1执行了”. 首先,为TRMyClass类定义一个分类AddMethod,在分类中添加一个方法meth…
OC的字符串时经常使用到的,今天我对于OC字符串做一个简单的总结,如果有错误之处,麻烦留言指正.感谢! NSString是一个不可变长度的字符串对象.表示它初始化以后,你不能改变该变量所分配的内存中的值,但你可以重新分配该变量所处的内存空间. 下面就从字符串NSString的创建开始说起: 1.创建一个NSString类型的字符串有三种方法: //1.直接赋值 NSString *s1 = @"age is 26"; //2.使用实例方法初始化 NSString *s2 = [[NSS…
在之前的一篇文章中介绍了Foundation框架中的NSString类和NSMutableString类,今天我们继续来看一下Foundation框架中的NSArray类和NSMutableArray类,其实NSArray类和Java中的List差不多,算是一种数据结构,当然我们从这两个类可以看到,NSArray类是不可变的,NSMutableArray类是可变的. 下面就先来看一下NSArray类: 一.NSArray类 // // main.m // 16_NSArray // // Cre…
在之前的一篇文章中我们说到了Foundation框架中的NSObject对象,那么今天在在来继续看一下Foundation框架中的常用对象:NSString和NSMutableString. 在OC中NSString对象是不可变的,和Java中的String一样的,而NSMutableString是可变的,和Java中的StringBuilder一样. 一.NSString对象 在OC中,NSString对象是非常重要的一个对象,也是最基础的一个对象,是用来处理字符串的常用类,和Java中的St…
上一篇文章介绍了OC中的@class关键字的使用,这一篇我们介绍一下,OC中的一个特有的亮点:类目 首先我们来看一下场景,如果我们现在想对一个类进行功能的扩充,我们该怎么做? 对于面向对象编程的话,首先会想到继承,但是继承有两个问题: 第一个问题:继承的前提是这个类可以被继承,因为在Java中有些类是不允许继承的,定义成final类,同样的OC中也是有不可以继承的类. 第二个问题:这个类可以被继承,但是继承我们知道是侵入性的,就是我可能只是想实现一个功能,但是继承之后,子类就会把父类的所有功能(…
1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到: 当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如下 // 声明 @interface  类名  (分类名称) @end // 实现 @implementation 类名 (分类名称) @end 2:分类的好处,当一个类比较庞大时,不同的部分可以放到不同的分类中,也方便团队中类的开发: 3:分类使用注意: a:分类不能增加成员变量,只能对原类增加方…