2014-05-17 47 views
0

我有例如5 MyFile對象在我的NSArray中。這5個對象中的每一個都有屬性pathKVC從字符串中獲得lastPathComponent,這是對象的屬性

MyFile *myFile ...; 

NSString path = myMyFile.path; 

因此,使用KVC,我可以得到的屬性形成陣列中的所有我的5個對象:

NSArray *folders = [[PNFolder MR_findAllWithPredicate:predicate] valueForKey:@"path"]; 

所以上面的代碼將返回path!而非MyFile對象,這是正常的我。

但是,如何在這裏使用lastPathComponent以使我的數組返回我只是文件夾名稱而不是完整路徑。我的意思是使用KVC。還是我需要寫週期?

+0

爲你的陣列,而不是valueForKeyPath上使用valueForKey應該不行 –

回答

1

使用valueForKeyPath與陣列

NSArray *folderNames = [[PNFolder MR_findAllWithPredicate:predicate] valueForKeyPath:@"path.lastPathComponent"]; 
1

你正在使用的是KVC,而不是KVO(編碼,未觀察),但在NSArray的情況下,這是一個明確說明的方法(valueForKey:)。它調用目標對象上的方法並返回內容。所以,你可以使用它lastPathComponent

的確,您應該可以通過valueForKeyPath:path.lastPathComponent使用純KVC。

相關問題