0

UITextView日付に応じてテキストを表示したい、 「この日のアプリで」など、このコードが動作しています

-(void)changingText:(id)sender {

    NSDateFormatter *df = [[NSDateFormatter alloc] init];

    df.dateStyle = NSDateFormatterMediumStyle;

    label.text = [NSString stringWithFormat:@"%@", [df stringFromDate:datePicker.date]];
    NSDictionary *pageData = [[DataSource sharedDataSource] dataForPage:pageIndex];

    NSString *dateText = [pageData objectForKey:@"pageName"];

    NSString *dateInfo = [df stringFromDate:datePicker.date];

    if ([dateText isEqualToString: dateInfo]) {
        myText.text = [pageData objectForKey:@"pageText"];
    }
    [df release];
}

私の質問は、最初のオブジェクトだけを示しているため、からUITextViewのデータで更新する方法です。NSDictionery ForKey@"pageText"

これは、日付が選択されたときにトリガーしたいオブジェクトです。

- (id)init {
    self = [super init];
    if (self != nil)
    {
        dataPages = [[NSArray alloc] initWithObjects:
                     [NSDictionary dictionaryWithObjectsAndKeys:
                      @"Oct 3, 2009", @"pageName",
                      @"First Object", @"pageText",
                      nil],

                     [NSDictionary dictionaryWithObjectsAndKeys:
                      @"Oct 10, 2009", @"pageName",
                      @"second Object", @"pageText",
                      nil],

                     [NSDictionary dictionaryWithObjectsAndKeys:
                      @"Oct 27, 2009", @"pageName",
                      @"Third Object", @"pageText",
                      nil],                      
                     nil];
    }
    return self;
}
4

1 に答える 1

0

あなたの質問を理解しているかどうかはわかりませんが、辞書のオブジェクトを次のように NSString にする必要があると思います:

-(void)changingText:(id)sender{
    NSDateFormatter *df = [[NSDateFormatter alloc] init];

    df.dateStyle = NSDateFormatterMediumStyle;

    NSDictionary *pageData = [[DataSource sharedDataSource] dataForPage:pageIndex];
    NSString *dateText = (NSString *)[pageData objectForKey:@"pageName"];
    NSString *dateInfo = [df stringFromDate:datePicker.date];

    label.text = [NSString stringWithFormat:@"%@", [df stringFromDate:dateInfo]];
    if ([dateText isEqualToString: dateInfo]) {
        myText.text = dateText;
    }

    [df release];
}
于 2009-10-20T20:23:44.677 に答える