5
我試圖獲取com.apple.scheduler plist中的repeatInterval鍵的值。我想只要使用的NSDictionary的valueForKeyPath:方法如下所示:是否有可能調用NSDictionary的valueForKeyPath:當一個鍵包含句點?
CFPropertyListRef value;
value = CFPreferencesCopyValue(CFSTR("AbsoluteSchedule"),
CFSTR("com.apple.scheduler"),
kCFPreferencesCurrentUser,
kCFPreferencesCurrentHost);
NSNumber *repeatInterval = [(NSDictionary *)value valueForKeyPath:@"com.apple.SoftwareUpdate.SUCheckSchedulerTag.Timer.repeatInterval"];
但這樣做的問題是,第一個關鍵是真正的「com.apple.SoftwareUpdate」,不只是「COM」。我可以分別獲得該第一個值解決這個問題:
NSDictionary *dict = [(NSDictionary *)value valueForKey:@"com.apple.SoftwareUpdate"];
NSNumber *repeatInterval = [dict valueForKeyPath:@"SUCheckSchedulerTag.Timer.repeatInterval"];
我只是想知道是否有逃脫的時期的keyPath這樣我就可以消除這種額外的步驟的方法。
我不認爲我經常會遇到這個問題,以至於無法爲其編寫一個類別,所以我現在只是堅持使用額外的代碼。感謝您的澄清。 – Jonukas 2010-05-15 03:14:05