淘先锋技术网

首页 1 2 3 4 5 6 7

一、回忆一下,C语言的字符串比较函数strcmp,是比较ASCII码,对不对

1.那我们的OC字符串,是不是也可以比ASCII码呢

例如:

NSString *str1 =@“jack”;

NSString *str2 = @“rose”;

字符串比较的第一种方式,调用字符串对象的compare方法

- (NSComparisonResult)compare:(NSString *)string;

[str1 compare:str2];

这个时候,就比较str1和str2的大小

返回值什么类型的,是不是NSComparisonResult啊

这是个什么类型

管它什么类型

它返回的是这个类型,你就用这个类型接一下,不就可以了嘛

NSComparisonResult res = [str1 compare:str2];

例如,随便调一个方法

str2 addObserver:(nonnull NSObject *) forKeyPath:(nonnull NSString *) options:(NSKeyValueObservingOptions) context:(nullable void *)

第一个参数:(nonnull NSObject *),是不是给个任意的NSObject就可以了

第二个参数:(nonnull NSString *) ,是不是给个字符串就可以了

第三个参数:(NSKeyValueObservingOptions),你没见过这个类型对不对,按住它点右键,点进去,走,

typedef NS_OPTIONS(NSUInteger,NSKeyValueObservingOptions){

NSKeyValueObservingOptionNew = 0x01,

NSKeyVauleObservingOptionOld = 0x02,

NSKeyVauleObservingOptionInitial NS_ENUM_AVAILABlE(10_5,2_0) = 0x04,

NSKeyVauleObservingOptionPrior NS_ENUM_AVAILABlE(10_5,2_0) = 0x08

};

是不是是个枚举

所以你在调用别人的方法的时候啊,人家参数是什么类型,你就给个什么类型就可以了

返回值是什么,你就拿什么返回值去接就可以了