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

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的方法
  •  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值