0

我有一个自定义 plist 并希望在 iPad 的 UITextView 中显示它。

在 plist 中,我想从每个项目中检索“QuestionTitle”和“QuestionAnswer”。

该页面基本上是一个答案表页面,一个带有 UITextView 的页面,一旦页面加载,就会显示所有问题和答案。

    - (void)viewDidLoad
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"DLquestions.plist"];
    NSDictionary *DLDict = [[NSDictionary alloc] initWithContentsOfFile:filePath];

有没有一种方法可以按特定顺序逐行将 plist 详细信息填充到 UITextView 中?

例如,

QuestionTitle(例如 1 + 1 是什么?)

问题答案(例如 2)

QuestionTitle(例如什么是 2 + 2?)

问题答案(例如 4)

我已经被困了一段时间了..请帮助我,在此先感谢。

4

2 回答 2

0

从您的 plist 创建一个字符串并将其显示在 UITextView 中,如下所示:

    for(int i=0;i<[plistArray count];i++)
    {
       someString = [someString stringByAppendingFormat:@"%@ \n %@",[[plistArray objectAtIndex:i] objectForKey:@"QuestionTitle"],[[plistArray objectAtIndex:i] objectForKey:@"QuestionAnswer"]];

    }

    //Display someString in UITextView.
yourTextView.text = someString;

您的 plist 包含字典数组,否则获取所有键和值并如上所述创建 NSString 并显示在 UITextView 中。

于 2012-08-22T04:54:36.317 回答
0

如果你的字典格式是这样的,

键值(NSArray)

1 {QuestionTitle(例如 1 + 1 是什么?),QuestionAnswer(例如 2)}

2 {QuestionTitle(例如 2 + 2 是什么?),QuestionAnswer(例如 4)}

然后,

NSDictionary *dict;
NSArray *keys = [dict allKeys];
for (int i=0; i< [keys count]; i++) {
    NSArray *object = [dict objectForKey:[keys objectAtIndex:i]];
    NSString *question = [object objectAtIndex:0];
    NSString *answer = [object objectAtIndex:1];
    textView.text = [textView.text stringByAppendingString:@"\n"];
    textView.text = [textView.text stringByAppendingString:question];
    textView.text = [textView.text stringByAppendingString:@"\n"];
    textView.text = [textView.text stringByAppendingString:answer];
}
于 2012-08-22T04:54:37.933 回答