,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
; //固定字符串 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:@" "
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
通过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 *)componentsJoinedByString:(NSString *)separator; 字符串提供的分割字符串组成数组的方法 将字符串以separator分割,每一个字符串成为数组元素存入到数组中...NSArray的数据持久化 有时我们需要将数组的信息(数组的元素的值)保存在沙盒中,进行数据持久化,当使用到的时候在重沙盒中读取 可以使用plist文件保存数组,即将数组的信息存储到plist文件中,...就会将数组的所有的元素存储到这个文件中。...,因此需要先将这些结构体变量存储到OC对象中,再将OC对象存储到集合之中,NSValue类的对象就是用来包装结构体变量的。
开发者可以为自己的应用添加本地索引,用户通过索引中定义的关键字可以搜索并定位到应用程序内的指定功能。...buildSearchableItem Error:%@",error.localizedDescription); } }]; } 在搜索栏中搜索索引的关键字,标题,名称、路径都可以搜索到当前应用程序... *contactKeywords; //媒体类型 @property(nullable, copy) NSArray *mediaTypes; //总比特率..., copy) NSArray *languages; //发布者 @property(nullable, copy) NSArray *publishers..., copy) NSArray *authorEmailAddresses; @property(nullable, copy) NSArray *emailAddresses
在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来进行归档。
声明一个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
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:苹果建议将程序中建立的或在程序中浏览到的文件数据保存在该目录下,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
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
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
获取应用沙盒根路径 获取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(@"文件创建失败"); } 写数据到文件
:(NSString *)aString split(delimiter) - (NSArray *)componentsSeparatedByString:(NSString *)separator...toUpperCase() - (NSString *)uppercaseString Array vs NSArray JavaScript Array Obj-C NSArray length...- (NSUInteger)count concat(item1[, item2...]) - (NSArray *)arrayByAddingObject:(id)anObject...-(NSArray *)arrayByAddingObjectsFromArray:(NSArray *)otherArray join(delimiter) - (NSString *)componentsJoinedByString...:(NSString *)separator sort() - (NSArray *)sortedArrayUsingFunction:(NSInteger (*)(id, id, void
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
*)pasteboardTypes; //获取剪切板中最新数据对象是否包含某一类型的数据 - (BOOL)containsPasteboardTypes:(NSArray *UIPasteboardTypeListString; //所有URL类型数据的类型定义字符串数组 UIKIT_EXTERN NSArray *UIPasteboardTypeListURL; //所有图片数据的类型定义字符串数据 UIKIT_EXTERN NSArray *UIPasteboardTypeListImage...; //所有颜色数据的类型定义字符串数组 UIKIT_EXTERN NSArray *UIPasteboardTypeListColor; 相比于上面两组方法,下面这些方法更加面向对象...@property(nullable,nonatomic,copy) NSArray *strings; //获取或设置剪切板中的URL数据 @property(nullable
return self.dataArr.count //决定有多少个cell } -(UITableViewCell *)cellForRowAtIndexPath { static NSString...返回字典数据结构 NSDictionary *dic = @{ @"code":200, @"msg":@"成功", @"time":@([NSString...bools)] if (bools){ //发送post请求成功 //dataArr 赋值操作有两种不同的操作 这里我写一个老三步 (让子弹飞快申遗) NSArray...*listArr = [NSArray arrayWithArray:dicData[@"结构"][@"需要"][@"和后端"][@"打架(商量)"]]; if (!...[self.tableView endFresh]; } for (NSDictionary *d in listArr){ //2.for循环 取出每个数据到字典里
领取专属 10元无门槛券
手把手带您无忧上云