我打算在pickerview的settings.bundle中使用PSMultiValueSpecifier中的標題。我只知道如何根據settings.bundle中的鍵獲取我的選定值。是否有可能根據關鍵字獲得所有標題?iphone:可能從settings.bundle中的PSMultiValueSpecifier獲取標題?
0
A
回答
1
這是我的版本,它也使用說明符KEY來定位PSMultiValueSpecifier,而不用記住它位於哪個索引。索引可能會隨時間而改變(由於設置包的更改)。
NSString* settingsBundle = [[[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"bundle"] stringByAppendingPathComponent:@"Root.plist"];
NSDictionary* rootPlist = [NSDictionary dictionaryWithContentsOfFile:settingsBundle];
if (rootPlist == nil)
return nil;
NSArray* specifiers = [rootPlist objectForKey:@"PreferenceSpecifiers"];
NSDictionary *multiValueSpecifier = nil;
for (NSDictionary *specifier in specifiers)
{
if ([[specifier objectForKey:@"Key"] isEqualToString:speficierKey] == YES &&
[[specifier objectForKey:@"Type"] isEqualToString:@"PSMultiValueSpecifier"] == YES)
{
multiValueSpecifier = specifier;
break;
}
}
if (multiValueSpecifier == nil)
return nil;
NSArray* titlesArray = [multiValueSpecifier objectForKey:@"Titles"];
NSArray* valuesArray = [multiValueSpecifier objectForKey:@"Values"];
NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:titlesArray
forKeys:valuesArray];
return dictionary;
1
(可能有更優雅的方式)。你可以設置字典,並瀏覽其內容(前提是你知道它的內部結構):
NSString* listPath = [[[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"bundle"] stringByAppendingPathComponent:@"Root.plist"];
NSDictionary* ttDict = [NSDictionary dictionaryWithContentsOfFile:listPath];
if (ttDict != nil){
NSArray* prefsArray = [ttDict objectForKey:@"PreferenceSpecifiers"];
// Next you get dictionary for required setting by its index (you should know it)
NSDictionary* settingDict = [prefsArray objectAtIndex: index];
NSArray* titlesArray = [settingDict objectForKey:@"Titles"]; // Voila
}
注意,標題你這樣沒有本地化。
+0
是的,這工作就像一個夢想,謝謝! :) – Madoc 2010-01-13 11:28:51
相關問題
- 1. 將選項添加到Settings.bundle中的PSMultiValueSpecifier
- 2. 允許在Settings.bundle中多選 - PSMultiValueSpecifier
- 3. 從Settings.bundle獲取切換
- 4. PSMultiValueSpecifier - iPhone SDK +設置包
- 5. iphone設置bunde:psmultivaluespecifier在psmultivaluespecifier?
- 6. 如何從PSMultiValueSpecifier中獲取選定的值/鍵?
- 7. iPhone:如何從文檔中獲取PDF文檔的標題?
- 8. iPhone的Xcode Settings.bundle的plist
- 9. 無法從Settings.bundle讀取值
- 10. 從iphone上的mkmapview獲取點座標
- 11. 的Objective-C/iPhone - NSException獲取儘可能多的信息可能
- 12. 從Perl中的郵件中獲取標題(只是標題)
- 13. Settings.Bundle在iPhone應用程序
- 14. 從UIPanGestureRecogniser獲取UIButton標題
- 15. 獲取標題從API
- 16. 如何從iPhone/Android獲取GPS座標?
- 17. 從tableView cell獲取標籤iphone sdk
- 18. 可能從QXmlStreamWriter獲取QDomElement?
- 19. 在Java中從GLFW獲取鼠標座標時出現的問題(可能是bytebuffer問題)
- 20. 可以從iPhone模擬器獲得座標,但無法從iPhone設備獲取座標
- 21. 從頁面表中獲取標題
- 22. 從文件中獲取媒體標題
- 23. 從彈出框中獲取標題
- 24. 通過代碼獲取/保存settings.bundle值有問題
- 25. 從可可中的窗口標識獲取應用圖標
- 26. 頁面標題變量,我也可以從文件中獲取?
- 27. iPhone的Xcode Settings.bundle的plist幫助
- 28. 羣組的最大大小(PSGroupSpecifier)Settings.bundle中的標題字符串
- 29. Jsoup:從論壇獲取主題標題
- 30. Rails從HTML獲取標題標記
有趣的解決方案,感謝分享:) – Madoc 2010-11-15 09:58:38