我正在尝试将NSDate放入单元格内的UILabel中。现在我有这个问题

***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'-[__ NSTaggedDate rangeOfCharacterFromSet:]:无法识别的选择器已发送到实例0xe41bd157d5000000'

到目前为止,这是我所做的

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UILabel *dateLabel = [[UILabel alloc] initWithFrame:CGRectMake(200, 10, 50, 130)];
NSDate *date  = [[myArray objectAtIndex:indexPath.row] objectForKey:@"Date"];
typeLabel.tag =2;
typeLabel.text = date;

[[cell.contentView viewWithTag:2]removeFromSuperview];
[cell.contentView addSubview:dateLabel];

return cell;
}

{
    Start = [[[[array objectAtIndex:0] valueForKey:@"StartTime"]objectAtIndex:index]valueForKey:@"text"];
    Start = [Start stringByReplacingOccurrencesOfString:@"\n" withString:@""];
    Start = [Start stringByReplacingOccurrencesOfString:@"\t" withString:@""];
    Stream = [Stream stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    NSString* format = @"yyyy-MM-dd HH:mm:ss";

    NSDateFormatter* formatterUtc = [[NSDateFormatter alloc] init];
    [formatterUtc setDateFormat:format];
    [formatterUtc setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:8]];

    // Cast the input string to NSDate
    NSDate* utcDate = [formatterUtc dateFromString:Start];

    // Set up an NSDateFormatter for the device's local time zone
    NSDateFormatter* formatterLocal = [[NSDateFormatter alloc] init];
    [formatterLocal setDateFormat:format];
    [formatterLocal setTimeZone:[NSTimeZone localTimeZone]];

    // Create local NSDate with time zone difference
    NSDate* localDate = [formatterUtc dateFromString:[formatterLocal stringFromDate:utcDate]];

    NSLog(@"utc:   %@", utcDate);
    NSLog(@"local: %@", localDate);

    [dict setObject:localDate forKey:@"Date"];
    [myArray addObject:dict];
}

最佳答案

您不能直接将NSDate分配给文本,使用NSString将其转换为NSDateFormatter然后再进行分配。 UILabel的text属性是NSString类型。并且您正在分配NSDate。

关于ios - 将NSDate放入UILabel问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37848868/

10-13 04:34