从C到OC的学习笔记一

一.1.import和include的区别
为了防止头文件的重复包含,include引入头文件如果不加预处理语句,将不具有防止重复包含的功能

2.import和@class的区别
@class不引入文件,只是做一个说明,声明@class后面的内容是一个类

3.Foundation/Foundation.h是神马东西
1)头文件
2)头文件的位置
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h
3)文件包含了其它的大量的头文件
作用:把Foundation.h引入了,等于把OC的库文件都引过来了

二.关于函数指针

函数指针是指向函数名的指针类型,
例如:
typedef 返回值类型 (*PFUN) (类型名*, 类型名*);

函数1 
返回值类型(PFUN) 函数名(参数1类型* 参数1名, 参数2类型* 参数2名 ){
                     函数体;
                      函数体;
return 返回值类型的值;
 }

函数2 
返回值类型 函数名(参数1类型* 参数1名){
                     函数体;
                    根据参数判断返回函数1类型的哪个函数
                        函数体;
return (同函数1函数类型);
 }

函数3 
返回值类型 函数名(参数1类型* 参数1名, 参数2类型* 参数2名, PFUN p){
                        函数体;
                         p = 函数2(参数3);
                         函数体;
return 同返回值类型的值;
 }
先执行函数3,当执行p = 函数2(参数)时,函数2会返回函数1类型的一个函数指针,( 即函数指针p实际上是存放一个指向函数1的地址),然后执行函数1
动态排序实质上就是函数3回调函数1,只是调用函数1的条件被封装成函数,而函数二决定了用哪个条件(函数1).

三.关于OC中字符串替换的疑问

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement options:(NSStringCompareOptions)options range:(NSRange)searchRange NS_AVAILABLE(10_5, 2_0);

options: 2 逐字精确匹配
4 从元字符串的尾部开始匹配
8 从元字符串的特定位置开始匹配,如从最后开始
64 只在数字内查找特定的字符串 10.2版本开始引入该规则
128 会忽略标注字符的匹配方式
256 会忽略宽度差异的匹配方式
512 如果要求返回值的话,匹配增强,如’aaa’ == ‘AAA’ 但排序时, 'aaa' > 'AAA'
1024 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值