,NSString * str = @"qwe"; NSString * str2 = [[NSString alloc] initWithString : str]; NSString * str3...= [[NSString alloc] initWithUTF8String:"hello world"]; NSString * str4 = [[NSString alloc] initWithFormat...4. substringToIndex: 从头到(to)index生成一个新的字符串。(注意是左闭右开区间)。 5. substringFromIndex:从index到最后结束生成一个新的字串。...字符串之后学习的是数组——NSArray 数组的学习思路和字符串是相似的,先要创建,创建之后就是函数的使用。数组的元素可以是任何对象,但数组中装有的元素不是对象而是地址。...方法 -(NSString *) name{ return _name; } -(NSString *) phoneNum{ return_phoneNum; } // 构造方法 -(Person
64 typedef unsigned long NSUInteger; #else typedef unsigned int NSUInteger; #endif 例子: 下面这个例子,将输出IPA NSString...NSRange range = {25, 3}; NSLog (@"Beer shortname: %@", [homebrew substringWithRange:range]); 搜索字符串: NSString...NSStringFromRange()方法,将一个NSRange返回一个NSString。...而另外一个函数NSRangeFromString()则是将NSString转换为NSRange 下面这个例子将从后向前反向搜索字符串: NSString *homebrew = @"Imperial India
Theocoacao有篇不错的介绍NSArray和KVC的文章,我给粗略翻译了一下。 NSArray的-valueForKey: 有一个不是很显著的特性....NSArray * justValues; justValues = [tree valueForKeyPath: @"storage.someKey"]; NSLog (@"%@", justValues...storage = {someKey = 9; }; } ) 第二个NSLog 返回一个数组的值,这个数组是由封装它的tree对象的 @”storage.someKey”:这个keypath提供的: NSArray
通过forin循环来遍历 好处:在搜索一个一个元素时NSSet比NSArray效率高,主要是它用到了一个算法hash 。...应用场景: 比如重用Cell的时候,从缓存池中随便获取一个就可以了,无需按照指定顺序来获取 当需要把数据存放到一个集合中,然后判断集合中是否有某个对象的时候 NSArray ●NSArray是有序集合
NSComparisonResult)compare:(Person*)otherObject {return[self.birthDate compare:otherObject.birthDate];}NSArray...initWithKey:@"birthDate" ascending:YES] autorelease];NSArray...*sortDescriptors =[NSArray arrayWithObject:sortDescriptor];NSArray*sortedArray; sortedArray =[drinkDetails...There's also the possibility of sorting with a block since Mac OS X 10.6 and iOS 4: NSArray*sortedArray
NSString 与 String 之间可以随意转换 let someString = "123" let someNSString = NSString(string: "n123") let strintToNSString...= someString as NSString let nsstringToString = someNSString as String String 是结构体, 值类型, NSString 是类...通常, 没必要使用 NSString 类, 除非你要使用一些特有方法, 例如使用 pathExtension 属性 怎么获取一个 String 的长度 不考虑编码, 只是想知道字符的数量, 用characters.count
; //固定字符串 NSString *str = [NSString stringWithFormat:@"asd%d%@",123,@"ttt...NSString *str1 = [str substringToIndex:1]; //从开始位置截到第几位 NSString *str = [[...@"asd" substringFromIndex:1] substringToIndex:1]; //从第几位开始截几个字符 3)分解 NSArray *array = [@"asd|tes|mmm...= NSNotFound) { NSString *str = [@"12rasd124" substringWithRange:range]; } 5)替换 NSString *str ... { NSString *result = [(NSString *)self stringByReplacingOccurrencesOfString:@"+" withString:@" "
在object-c支持的可以进行归档的数据类型为:NSDate, NSNumber, NSString, NSArray, or NSDictionary先看归档代码吧:- (NSString *)dataFilePath...NSMutableDictionary"]; [dataDictionary writeToFile: dictionaryName atomically: YES]; // // 将数据归档到NSArray...NSMutableDictionary *newDictionary=[NSMutableDictionarydictionaryWithContentsOfFile:dictionaryName]; // 从文件中读取数据到NSArray...[NSKeyedArchiver archiveRootObject:dataDictionary toFile:dictionaryName];// NSKeyedArchiver 将数据归档到NSArray..., NSArray, or NSDictionary来进行归档。
因为应用的沙盒机制,应用只能在几个目录下读写文件 Documents:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,iTunes备份和恢复的时候会包括此目录。..., YES); NSString *path = [paths objectAtIndex:0]; NSLog(@"path:%@", path); 获取Cache目录 NSArray *paths...@", path); 获取Tmp目录 NSString *tmpDir = NSTemporaryDirectory(); NSLog(@"%@", tmpDir); 存数据到沙盒plist文件中...*)getDataFormPlist{ NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,...NSUserDomainMask,YES); NSString *path=[paths objectAtIndex:0]; NSString *filename=[path
到遇到不能转换的时候就停止转换. 去掉字符串前后的空格,中间的空格无法去掉。...- (NSString *)componentsJoinedByString:(NSString *)separator; 字符串提供的分割字符串组成数组的方法 将字符串以separator分割,每一个字符串成为数组元素存入到数组中...NSArray的数据持久化 有时我们需要将数组的信息(数组的元素的值)保存在沙盒中,进行数据持久化,当使用到的时候在重沙盒中读取 可以使用plist文件保存数组,即将数组的信息存储到plist文件中,...就会将数组的所有的元素存储到这个文件中。...,因此需要先将这些结构体变量存储到OC对象中,再将OC对象存储到集合之中,NSValue类的对象就是用来包装结构体变量的。
开发者可以为自己的应用添加本地索引,用户通过索引中定义的关键字可以搜索并定位到应用程序内的指定功能。...buildSearchableItem Error:%@",error.localizedDescription); } }]; } 在搜索栏中搜索索引的关键字,标题,名称、路径都可以搜索到当前应用程序...NSString*> *contactKeywords; //媒体类型 @property(nullable, copy) NSArrayNSString*> *mediaTypes; //总比特率..., copy) NSArrayNSString*> *languages; //发布者 @property(nullable, copy) NSArrayNSString*> *publishers..., copy) NSArrayNSString*> *authorEmailAddresses; @property(nullable, copy) NSArrayNSString*> *emailAddresses
NSArray基本用法 //初始化 NSArray *array = [NSArray arrayWithObjects:@"A",@"B",@"C",@"D",@"E",@"F", nil...Student - (void)log{ NSLog(@"打印"); } - (void)logInfo:(NSString *)str{ NSLog(@"打印-%@",str); }...*arr2 = [arr sortedArrayWithOptions:NSSortStable usingComparator:^NSComparisonResult(NSString *obj1,...和NSString转换 NSArray *arr = @[@"A",@"B",@"C",@"D"]; NSString *str = [arr componentsJoinedByString...:@"-"]; NSLog(@"%@",str);//A-B-C-D NSString *str1 = @"A-B-C-D"; NSArray *arr1 = [str1 componentsSeparatedByString
plist文件中存放着与视图控制器同名的字符串 WechatIMG33.png 获取工程文件: NSString * path = [[NSBundle mainBundle] pathForResource...:@"ViewControllers" ofType:@"plist"]; NSLog(@"path:%@",path); NSArray * array = [NSArray arrayWithContentsOfFile...:path]; 从数组中取出: NSDictionary * dict = [array objectAtIndex:indexPath.row]; NSString * str = [dict objectForKey...类型转换Class类型 NSClassFromString(NSString *aClassName); NSStringFromClass(Class aClass); //协议 NSStringFromProtocol...(Protocol *proto) NSProtocolFromString(NSString *namestr)
获取应用沙盒根路径 获取Documents目录路径 获取Library目录路径 获取Cache目录路径 获取Tmp目录路径 创建文件夹 创建文件 写数据到文件 读文件数据 文件属性 删除文件...:@”Documents”]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask...Library目录 -(void)dirLib{ //[NSHomeDirectory() stringByAppendingPathComponent:@”Library”]; NSArray...获取Library目录 -(void)dirLib{ //[NSHomeDirectory() stringByAppendingPathComponent:@"Library"]; NSArray...; if (res) { NSLog(@"文件创建成功: %@" ,testPath); }else NSLog(@"文件创建失败"); } 写数据到文件
CocoaTouch 中的 NSString initWithFormat 还是 stringWithFormat ?...initWithFormat 是实例方法,用法如下: NSString* str = [[NSString alloc] initWithFormat:@"%@", @"Hello, world!"]...stringWithFormat 是类方法, 用法如下: NSString* str = [NSString stringWithFormat:"%@", @"Hello, world!"]...NSString 到 NSInteger、 int NSString* str = @"123"; NSInteger intVal = [str integerValue]; int val = [str...intValue]; NSString 到 NSNumber NSString* str = @"123"; NSNumberFormatter* f = [[NSNumberFormatter alloc
而且带两个字符串对象的BLOCK类型变量: 答案:(D) A、NSArray (*aBlock)(NSString * str,NSString *str2) B、NSArray ^(*aBlock...)(NSString * str,NSString *str2) C、NSArray (^aBlock)(NSString * str,NSString *str2) D、NSArray *(^...B、类目、延展不但能为类加入方法,并且都能够加入新的实例变量 C、不管是否能拿到类的源代码,类目都能够对其扩展 D、类目和延展声明语法不同 65、 现要求声明一个集合,并将字符串加入到集合中...*arr = [[NSArray alloc] initWithArray:[dic allKeys]];NSString *str = [[NSString alloc] initWithFormat...*arr1 = [[NSArray alloc] initWithArray:[dic allKeys]];NSArray *arr2 = [[NSArray alloc] initWithArray
Objective-C的集合类序列化到文件中或者从文件中反序列化其实很简单,请看下面的示例代码: NSArray *array = [NSArray arrayWithObjects: @"Hefeweizen..."Stout", @"dark", @"Hefeweizen", @"wheat", @"IPA", @"hoppy", nil]; // 得到documents directory的路径 NSArray...paths objectAtIndex:0] stringByAppendingPathComponent:@"array.out"]; // dictionary的保存路径 NSString...dictionaryWithContentsOfFile:dictPath]; for (NSString *element in arrayFromFile) NSLog(@"Beer...: %@", element); for (NSString *key in dictFromFile) NSLog(@"%@ Style: %@", key, [dictionary
声明一个NSString属性使用copy要优于使用strong。这同样适用于遵守NSCoding协议的不可变类(immutable class),如NSNumber、NSArray、NSSet等。...选择使用copy的理由是,NSString属性可能被传入一个NSString实例,也可能是一个NSMutableString实例。...来瞧瞧这个例子: @interface Book : NSObject @property (strong, nonatomic) NSString *title; @end 在另一个类中,我们有一个这样的方法...———————————————————————————– 翻译自:Use copy for NSString properties
不,这还差得远,你可以定义任意的数据,使其在搜索和siri中可以快速检索到,这样的搜索功能是不是非常酷?...不,还有更cool的,你甚至可以在你的网站中添加一些标志,使apple的爬虫可以检索到,那样,即使用户没有安装你的app,也可以在搜索中获取到相应的信息,这太强大了,对吧。... *displayName; //名称数组 @property(nullable, copy) NSArrayNSString*> *alternateNames; //完整的路径 @property... *contentType; @property(nullable, copy) NSArrayNSString*> *contentTypeTree; //搜索的关键字数组 @property(...nullable, copy) NSArrayNSString*> *keywords; //标题信息 @property(nullable, copy) NSString *title; @end
: 5]; // 获取 从 第五个 到 第九个 字符串 NSString * str7 = [str3 substringWithRange : NSMakeRange(5, 9)]; -- ...: 5]; // 获取 从 第五个 到 第九个 字符串 NSString * str7 = [str3 substringWithRange : NSMakeRange(5, 9)];...集合, 其中放置 NSString 元素 NSArray * array = [NSArray arrayWithObjects:@"Tom", @"Jerry", @"Fuck",...: 5]; // 获取 从 第五个 到 第九个 字符串 NSString * str7 = [str3 substringWithRange : NSMakeRange(5, 9)]; -- ...: 5]; // 获取 从 第五个 到 第九个 字符串 NSString * str7 = [str3 substringWithRange : NSMakeRange(5, 9)];