您的位置:首页 > 移动开发 > IOS开发

iOS 7应用开发公开课笔记 L4:Foundation and Attributed Strings

2015-11-22 18:37 405 查看
1.容器对象的copy 与mutalbeCopy方法:

·无论是可变或不可变对象,mutalbeCopy方法创建并返回一个可变对象;copy方法返回一个不可变对象;

·不可变对象中,copy浅复制,即指针复制;可变对象中,copy创建一个不可变对象;

·容器类所容对象,不论是可变或不可变,copy 、mutableCopy返回的对象里所包含的对象都是浅复制,即指针与以前容器对象里的对象一样。

2. 需注意:方法返回类型是struct时,不能将消息发送给nil,因为返回的struct 不会是nil(结构体里key值都为0),而是未定义。

3.动态类型绑定(多态、运行时):ID.

ID的保护:判断是否是某类型再发送消息(即内省,多用于数组或MVC盲通信(target-action\委托等)):

isKindOfClass: \isMemberOfClass:\respondsToSelector
(此三个方法是NSObject的方法)。

4. 选择器(@selector()),类型 SEL

5.让对象去运行某个方法

·(methods in NSObject):

[obj performSelector:];

[obj performSelector: withObject:] ;

·(methods in NSArray):

[array makeObjectsPerformSelector:]; //cool !!

[array makeObjectsPerformSelector:withObject:target]
; //target is an id

二、Foundation Framework

1.基类NSObject

· -(NSString*)description; 非常有用的方法(常重写,调试、输出描述信息),NSLogs()中的%@ 就是调用了它!!

2.NSNumber

·快速创建:@()

NSNumber *two=@2;

3.NSData :二进制数据包~用于save/restore/transmit raw data.

4.NSSet,无序集合,经过哈希处理~可高效查找元素,不过用的少(why?)。

NSOrderSet,NSMutableOrderSet

5.NSDictionary @{key1:value1;key2:value3};建议key 为NSString类型,方便hash与比较。

6.NSUserDefaults作用于属性列表(集合的集合),数据持久化。

集合或集合的叶节点:NSArray、NSDictionary、NSNumber、NSString、NSDate、NSData...

只拥有这些集合的对象,即是属性列表,比如NSString的数组。

NSDictionary的Key
和Value都是集合时,即是属性列表。
NSUserDefaults 数据库(不完全是数据库,它很小,性能不好,只能存储小东西,有点像永久型的NSDictionary)中存储的一切都是属性列表!!!

记得同步~!

7.NSRange 、NSNotFound

· typedef struct {

NSUinteger location; //起始位置

NSUinteger length; //长度

}NSRange

· NSNotFound 是location的一个重要值

e.g. NSRange r = [@"helloWord"rangeOfString
@"hi"];

if(r.location==NSNotFound) {//找不到时
to do sth.}NSRange

NSRange是C Struct,不能存于堆中,不能作为参数传递,当作为参数时,使用NSRangePointer

(typedefNSRange
* NSRangePointer)

8.重要的字体!! UIFont

可用已有样式:UIFontTextStyleHeadline,

UIFontTextStyleCaption,etc

UIFontDescription:可拓字体样式,加粗等(?未考证)。

9、NSAttributedString 、NSMutableAttributedString

为所显示的字符串设置字符的样式属性,字体色、背景色、描边等。

e.g. NSMutableAttributedString *labelText=@{NSFontAttributedName:

[UIFontpreferredFontWithTextStyle:UIFontTextStyleHeadline]

NSForegroundColorAttributeName:[UIColor greenColor]}

NSAttributedString
不是NSString 的子类,-(NSString
*)string 方法可返还应用了NSAttributedString的string,并应用NSString的方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: