2009-08-18 46 views

回答

1

以下代碼將PSMultiValueSpecifier值和標題轉換爲一個很好的字典,您可以在UIPickViewer中使用它。


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; 

要保存它,你需要保存密鑰,而不是字典的價值。

[settings setObject:dictionaryKey forKey:@"mySelection_preference"];