我打算在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. 如何從PSMultiValueSpecifier中獲取選定的值/鍵?
- 4. PSMultiValueSpecifier - iPhone SDK +設置包
- 5. iphone設置bunde:psmultivaluespecifier在psmultivaluespecifier?
- 6. iPhone:如何從文檔中獲取PDF文檔的標題?
- 7. iPhone的Xcode Settings.bundle的plist
- 8. 從iphone上的mkmapview獲取點座標
- 9. 的Objective-C/iPhone - NSException獲取儘可能多的信息可能
- 10. 獲取標題從API
- 11. Settings.Bundle在iPhone應用程序
- 12. 在Java中從GLFW獲取鼠標座標時出現的問題(可能是bytebuffer問題)
- 13. 從頁面表中獲取標題
- 14. OData從響應中獲取標題值
- 15. 從彈出框中獲取標題
- 16. 從文件中獲取媒體標題
- 17. 從tableView cell獲取標籤iphone sdk
- 18. 可以從iPhone模擬器獲得座標,但無法從iPhone設備獲取座標
- 19. 從可可中的窗口標識獲取應用圖標
- 20. 頁面標題變量,我也可以從文件中獲取?
- 21. iPhone的Xcode Settings.bundle的plist幫助
- 22. 從JDialog的標題欄獲取圖像
- 23. 我可以通過iPhone SDK中的標籤獲取元素嗎?
- 24. 如何從目標c中的settings.bundle中檢索值?
- 25. iPhone,如果可能的話從相冊中獲取照片而不使用UIImagePickerController?
- 26. 無法從標籤jQuery獲取文本,可能的ID錯誤?
- 27. 是否有可能從鼠標上的ol.source.raster獲取像素值
- 28. 從settings.bundle訪問root.strings?
- 29. 默認值的PSMultiValueSpecifier
- 30. 如何從iPhone中的照片獲取地理座標系
有趣的解決方案,感謝分享:) – Madoc 2010-11-15 09:58:38