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 回答