Mat*_*toe 11 objective-c foundation nsobject
而已.为什么有人想要(至少作为公共API)这样的方法?它有什么实际用途吗?
rob*_*off 12
该self
方法对于键值编码(KVC)很有用.
使用KVC,您可以将对象视为字典.您可以使用包含属性名称的字符串来访问对象的属性,如下所示:[view valueForKey:@"superview"]
.您使用包含键路径的字符串向下走一系列属性,如下所示:[view valueForKeyPath:@"superview.superview.center"]
.
既然NSObject
有self
方法,你可以self
用作键或键路径:[view valueForKey:@"self"]
.因此,如果您以编程方式构建密钥路径,或者从文件中读取密钥路径,则使用"self"
密钥可以避免编写特殊情况.
您还可以self
在谓词中使用,如下所示:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self beginswith \"foo\""];
NSArray *filteredArray = [arrayOfStrings filteredArrayWithPredicate:predicate];
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我不知道是否NSPredicate
实际使用了该self
方法(可能是通过KVC).这当然是可能的.
归档时间: |
|
查看次数: |
786 次 |
最近记录: |