我正在尝试将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/