0

私はこれについて頭を悩ませています。

クイズを作成しています。plist内には質問があります...そして可能な答え、これが私のplistです

<plist version="1.0">
<dict>
<key>quest</key>
<array/>
<key>Quest1</key>
<string>3234</string>
<key>A</key>
<string>3</string>
<key>B</key>
<string>2</string>
<key>C</key>
<string>1</string>
</dict>
</plist>

配列が呼び出さquestれ、コードと 3 つの回答から「Quest1」を取得できるようにしたい....ここに私のコードがありますが、表示するために何かが欠けているようです

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [path objectAtIndex:0];
NSString *plistpath = [documentsPath stringByAppendingPathComponent:@"question.plist"];
if(![[NSFileManager defaultManager] fileExistsAtPath:plistpath])
{
    plistpath = [[NSBundle mainBundle] pathForResource:@"question" ofType:@"plist"];
}
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistpath];
NSString *errorDesc = nil;
NSPropertyListFormat format;
NSDictionary *temp = (NSDictionary *)[NSPropertyListSerialization     propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&errorDesc];
if (!temp)
{
NSLog(@"error reading plist: %@, format:%d",errorDesc, format);

}
  self.question.text = [temp objectForKey:@"quest"];
  self.answer1.text =[temp objectForKey:@"A"];
  self.answer2.text =[temp objectForKey:@"B"];
  self.answer3.text =[temp objectForKey:@"C"];
4

1 に答える 1

0

以下のコードを試してください..それはあなたを助けるでしょう

NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [path objectAtIndex:0];
NSString *plistpath = [documentsPath stringByAppendingPathComponent:@"question.plist"];
NSMutableArray *savedStock = [[NSMutableArray alloc] initWithContentsOfFile:plistFilePath];
 for (int i=0; i<[savedStock count]; i++)
    {
        [A-array addObject:[[savedStock objectAtIndex:i] valueForKey:@"A"]];
        [B-array addObject:[[savedStock objectAtIndex:i] valueForKey:@"B"]];
    }
于 2013-04-06T05:04:25.817 に答える