我有例如我的MyFile
中有5个NSArray
个对象。这5个对象中的每一个都具有属性path
。
MyFile *myFile ...;
NSString path = myMyFile.path;
因此,使用KVC,我可以从数组中的所有5个对象中获取属性:
NSArray *folders = [[PNFolder MR_findAllWithPredicate:predicate] valueForKey:@"path"];
因此上面的代码会返回path
而不是MyFile
个对象,这对我来说没问题。
但是,如何在这里使用lastPathComponent
使我的数组只返回文件夹名称而不是完整路径。我的意思是使用KVC。还是我需要写周期?
答案 0 :(得分:1)
你使用的是KVC,而不是KVO(编码,不是观察),但在NSArray
的情况下,它是一个明确陈述的方法(valueForKey:
)。它调用目标对象上的方法并返回内容。因此,您可以将其与lastPathComponent
一起使用。
事实上,您应该能够通过valueForKeyPath:
path.lastPathComponent
使用纯KVC。
答案 1 :(得分:1)
将valueForKeyPath与数组一起使用
NSArray *folderNames = [[PNFolder MR_findAllWithPredicate:predicate] valueForKeyPath:@"path.lastPathComponent"];