Foundation各种NS

1.1 NSRange

NSRange range = NSMakeRange(2, 4);//location=2,len=4

NSString *str = @"i love oc";

//查找对应的字符串的位置location,length

range = [str rangeOfString:@"love"];

4.2 NSMutableString

// NSMutableString可变字符串

NSMutableString *s1 = [NSMutableString stringWithFormat:@"age is 10"];

[s1 appendString:@"love"];

NSRange range = [s1 rangeOfString:@"love"];

[s1 deleteCharactersInRange:range];

4.3 NSString

//类方法构造字符串

NSString *str = [NSString stringWithFormat:@"age is %d",10];

NSString *str1 = [NSString stringWithContentsOfURL:url 
encoding:NSUTF8StringEncoding error:nil];

//对象方法构造字符串

NSString *str1 = [[NSString alloc]initWithContentsOfFile:@"/Users/zhangct/Desktop/1.txt"encoding:NSUTF8StringEncoding error:nil];

NSString *url = @"file:///Users/zhangct/Desktop/1.txt";

NSString *str2 = [[NSString alloc]initWithContentsOfURL:urlencoding:NSUTF8StringEncoding error:nil];

//讲字符串写入文件

[str2 writeToFile]

//常用属性

[s length]

[s characterAtIndex:i]

//结构体类型转换成字符串

NSStringFromCGRect(<#CGRect rect#>)

NSStringFromCGPoint(<#CGPoint point#>)

4.4 NSString (NSExtendedStringDrawing)

//根据字体计算字符串的显示宽高

NSString *nikeName = @"内涵段子";

NSDictionary *attri = @{NSFontAttributeName: [UIFont systemFontOfSize:13]};

CGSize nikeSize = [nikeName boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT)

options:NSStringDrawingUsesLineFragmentOrigin attributes:attri context:nil].size;

4.5 NSBundle

//获取文件绝对路径

NSString *path = [[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil];

//加载xib试图文件,返回对象数组

NSArray *objs = [[NSBundle mainBundle] loadNibNamed:@"HMAppView" owner:nil options:nil];

// infoDictionary获取info.plist的字典信息

NSDictionary *dict = [[NSBundle mainBundle] infoDictionary];

// objectForInfoDictionaryKey获取info.plist字典中某一个键值

NSString *versonKey = (__bridge NSString *)kCFBundleVersionKey;

NSString *verson = [[NSBundle mainBundle] objectForInfoDictionaryKey:versonKey];

1.2 NSArray和NSMutableArray

//读取文件内容填充NSArray集合

NSArray *dictArray = [NSArray arrayWithContentsOfFile:path];

//向数组中每个元素发送SEL消息

array makeObjectsPerformSelector:@selector(<#selector#>)

[self.answerView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];

1.3 NSSet

//获取集合个数

NSLog(@"set1 count :%d", set1.count);

//以数组的形式获取集合中的所有对象

NSArray *allObj = [set2 allObjects];

NSLog(@"allObj :%@", allObj);

//获取任意一对象

NSLog(@"anyObj :%@", [set3 anyObject]);

//是否包含某个对象

NSLog(@"contains :%d", [set3 containsObject:@"obj2"]);

//是否有交集

NSLog(@"intersect obj :%d", [set1 intersectsSet:set3]);

//是否完全匹配

NSLog(@"isEqual :%d", [set2 isEqualToSet:set3]);

//set2是否是set1的子集合

NSLog(@"isSubSet :%d", [set2 isSubsetOfSet:set1]);

1.4 NSMutableSet

//集合元素相减

[mutableSet1 minusSet:mutableSet2];

//只留下相等元素

[mutableSet1 intersectSet:mutableSet3];

//合并集合

[mutableSet2 unionSet:mutableSet3]

//删除指定元素

[mutableSet2 removeObject:@"a"];

//删除所有数据

[mutableSet2 removeAllObjects];

1.5 NSDictionary和NSMutableDictionary

NSDictionary *dict = @{@"name": @"zhangct", @"age": @20};

NSMutableDictionary *dict = [NSMutableDictionary dictionary];

[dict setValue:@"zhangct" forKey:@"name"];

1.6 NSNumber

NSNumber *num1 = [NSNumber numberWithInt:10];

[num1 intValue];

NSNumber *num2 = [NSNumber numberWithFloat:1.0];

[num2 floatValue];

NSNumber *num3;

int age = 20;

num3 = @(age);

num3 = @100;

1.7 NSValue

CGPoint p = CGPointMake(10, 20);

NSValue *value = [NSValue valueWithPoint:p];

NSLog(@"%@", NSStringFromPoint([value pointValue]));

1.8 NSDate

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

formatter.dateFormat = @"yyyy年MM月dd日 HH时mm分ss秒";

NSDate *date = [NSDate date];

NSLog(@"%@", [formatter stringFromDate:date]);

4.6 NSObject

4.6.1 NSObject

[self performSelector:@selector(onClick:value1:) withObject:nil withObject:nil];

performSelector是执行self对象中的onClick:value1:方法,最多支持传递2个参数.

4.6.2 NSObject(NSDelayedPerforming)

//播放完毕后延迟1秒执行释放内存

[self.tom performSelector:@selector(setAnimationImages:) 
withObject:nil afterDelay:self.tom.animationDuration + 1.0f];

4.6.3 NSObject(NSKeyValueCoding)

//单个赋值

[self setValue:dict[@"answer"] forKey:@"answer"];

[self setValue:dict[@"title"] forKey:@"title"];

//ForKeyPath取值,返回Person的car name

[p valueForKeyPath:@"car.name"]

//ForKeyPath取值返回title数组

carsGroups valueForKeyPath:@"title"

//字典转模型,使用此方法要保证属性名称和字典的key同名

[self setValuesForKeysWithDictionary:dict];

//模型转字典

NSDictionary *dict = [p dictionaryWithValuesForKeys:@[@"name", @"age"]];

4.6.4 NSObject(UINibLoadingAdditions)

//当xib文件加载完毕后执行

- (void)awakeFromNib;

4.8 NSIndexPath

//根据分组和行号初始化对象

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:10 inSection:0];

//返回分组

indexPath.section

//返回行号

indexPath.row

时间: 2024-10-12 20:01:22

Foundation各种NS的相关文章

foundation基本用法

1* OC中的结构体 l       NSRange(location length) l       NSPoint \ CGPoint l       NSSize \ CGSize l       NSRect \ CGRect (CGPoint CGSize) 使用CG.. 结构体需要添加CoreGraphice NS….  是一个框架Foundation ,NS是NextStep公司 1. NSRange 表示一段范围 @”I love oc” //表示love 的范围 locatio

OC语言基础

.h(头文件) .m(源文件c.oc) .mm(源文件c.oc.c++) gcc -c      -o    汇编 -framework Foundation链接  NS开头 字符串对象加@ oc中完全兼容c的函数库 NSLog可以自动换行,并且提供文件名编译时间等 需要包含头文件,每一个框架都有一个主头文件,其名字和主头文件相同,主头文件包含了这个框架的所有头文件. #import可以自动防止头文件重复包含. 链接时,需要手动连接框架. 10.多文件编译:所有对象都是以指针形式存在:跟c类似.

iOS-CoCoa编码规范

对于开发人员来说,代码规范很重要! 介绍 Cocoa 编码指南 使用公共 API 开发 Cocoa 框架.插件及其他可执行文件需要使用的方法和约定不同于应用程序开发.如果产品主要客户是开发人员,则保证产品的编程接口清晰明确,不至于让开发者产生疑惑十分重要.这种情况下,API 命名约定就可以派上用场,它可以帮助您保持编程接口一致明确.另外,框架开发领域也存在一些特定的编程技术-或者说,这些技术对框架开发更加重要-例如版本管理,二进制兼容性,错误处理以及内存管理等.本节主题包括 Cocoa 命名约定

Swift:Foundation框架中的NS前缀的由来

可能大家对于著名的NS前缀的由来有一些疑问. 绝大多数这些NS前缀的类是NeXTSTEP操作系统中Foundation框架里的一部分,而该操作系统是OS X的基础. NeXTSTEP的程序员对它们的类和函数使用NX前缀.这个前缀在NeXT和Sun合作创建OpenStep之后被改为NS,OpenStep是一个面向对象的框架,它用来在其他平台上提供类似于NeXTSTEP的环境. 所以,取决于你向谁提出这个问题,一些人会说NS指的是NeXTSTEP,而另一些人会说NS指的是NeXT/Sun. ;]

Foundation框架介绍

1.Foundation框架介绍 什么是框架? 众多功能\API的集合 框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易,在OS X下的Mac操作系统中大约有80个框架,为所有程序开发奠定基础的框架称为Foundation 框架 Foundation框架的作用 Foundation框架是Mac\iOS中其他框架的基础 Foundation框架包含了很多开发中常用的数据类型: 结构体 枚举 类 如何使用Foundation框架 Foundation框架中大约有

Foundation框架的基本对象之数组对象

在程序设计中数组的使用非常频繁,Foundation框架提供了NS数组类型,NS数组类型包括可修改的和不可修改两种,只能用来存放相关的对象类型,OC为我们提供了相关的基本的数组操作,并对相关的数组操作进行了封装. 数组的定义 我们可以简单的把数组看做是把同一类型的数据有序的进行排列,进行同一存储,即同种类型数据的集合. 数组的声明 数组声明和变量声明类似 格式:数组类型  数组名[数组大小]例如 :int score[5]; 数据类型  数组名[长度]=[数值1,数值2,……,数值n]. 例如:

NS前缀\OC中的注释\访问OC原文件、C原文件中的函数

///////////////////////////////////////// //////////////////////////////////////// NS前缀 NS来自于NeXTStep的一个软件 NeXT Software OC中不支持命名空间(namespace) NS是为了避免命名冲突而给的前缀 看到NS前缀就知道是Cocoa中的系统类的名称 "@"的使用方法 1.@""这个符号表示将C中的字符串转化为OC中的字符串对象 2.@符号 OC中的大

Foundation框架-NSString和NSMutableString

可变与不可变的字符串 --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 字符

IOS开发之-NS**概述

在IOS开发中,经常会遇到NS开头的对象,这个要从乔帮主历史恩怨说起.当年Steve Jobs 和John Scullery与恩怨,乔帮主当年被人挤兑出苹果,自立门户的时候做了个公司叫做NextStep,里面这一整套开发包很是让一些科学家们喜欢,而现在Mac OS用的就是NextStep这一套函数库.   这些开发NextStep的人们比较自恋地把函数库里面所有的类都用NextStep的缩写打头命名,也就是NS****了.比较常见的比如: NSLogNSStringNSIntegerNSURLN