0

カスタム plist があり、IPad の UITextView に表示したいと考えています。

plist では、各項目から「QuestionTitle」と「QuestionAnswer」の両方を取得したいと考えています。

このページは基本的に Answer Sheet Page であり、ページがロードされるとすべての質問と回答を表示する 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 に答える