gpt4 book ai didi

ios - 将 NSDate 转换为 NSString 以保存在 NSMutableArray 中

转载 作者:行者123 更新时间:2023-11-28 20:10:12 28 4
gpt4 key购买 nike

我是 iOS 编程的新手(您可能可以从我的代码中看出这一点)并且我遇到了困难。我的应用程序是一个包含许多 ViewController 的问卷,每个 ViewController 都有一个问题。这些问题的答案存储在 NSMutableArray 中。然后我在最后一个 View UITableView 上给出答案。除了在表格 View 中显示日期外,一切正常。我收到此错误消息:

2013-12-16 14:04:48.609 Questionnaire[4602:70b] -[__NSDate length]: unrecognized selector sent to instance 0x8ac5160
2013-12-16 14:04:48.613 Questionnaire[4602:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSDate length]: unrecognized selector sent to instance 0x8ac5160'

我的数组看起来像这样:

    2013-12-16 14:04:32.743 Questionnaire[4602:70b] (
1234,
"2013-12-16 14:04:24 +0000",
Yes,
Internet,
"Not Applicable",
No
)

如您所见,日期以默认方式存储,但除非将其转换为 NSString,否则我无法在 TableView 上显示它。

这是我的表格 View 的图片。注意:出于测试目的,日期显示“Null”,请参见代码。 (我没有足够的代表来附上图片)。

My tableview

我已经用谷歌搜索了好几天,尝试了各种代码,但在保存到数组之前我仍然无法转换它。我试图在 UIDatePicker 的 UITextField 上显示日期,然后我打算从该文本字段中保存日期,但没有成功。如果有人能够指导我如何在将日期保存到数组之前将日期转换为 NSString,或者如果有更好的方法来解决我的问题,请帮助我!

感谢阅读。

这是我的代码:

    - (IBAction)buttonPressed:(UIButton *)sender {

NSDate *dob = self.datePicker.date;
NSString *idNum = self.idTextField.text;

// If data is input to TextField
if (![self.idTextField.text isEqualToString:@""]) {

NSLog(@"Questionnaire started");

// Allocate & initialise array
self.submission = [[NSMutableArray alloc] init];

// Insert ID and DoB
[self.submission insertObject:idNum atIndex:0];
[self.submission insertObject:dob atIndex:1];


// Prepare array, insert Null values

//[self.submission insertObject:@"Null" atIndex:1]; // for testing

[self.submission insertObject:@"Null" atIndex:2];
[self.submission insertObject:@"Null" atIndex:3];
[self.submission insertObject:@"Null" atIndex:4];
[self.submission insertObject:@"Null" atIndex:5];
NSLog(@"%@", self.submission);


Q1ViewController *Q1 = [[Q1ViewController alloc]initWithNibName:@"Q1ViewController" bundle:nil];
NSLog(@"Move to Q1");

//Pass array to next viewcontroller
Q1.submission = self.submission;

[self.navigationController pushViewController:Q1 animated:YES];


} else { //If TextField is empty
NSLog(@"TextField is empty");

//Show error alert
UIAlertView *myAlert = [[UIAlertView alloc]initWithTitle:@"Incomplete Submission"
message:@"Please enter a User ID and Date of Birth."
delegate:self
cancelButtonTitle:@"Dismiss"
otherButtonTitles:nil];
[myAlert show];
}
}

编辑:

这似乎是一个我完全错过的简单解决方案,多亏了“ios Learner”,这个问题只用了几行代码就解决了!非常感谢!!

NSString *dateString = [NSDateFormatter localizedStringFromDate:[NSDate date]
dateStyle:NSDateFormatterShortStyle
timeStyle:NSDateFormatterFullStyle];
NSLog(@"%@",dateString);

最佳答案

NSString *dateString = [NSDateFormatter localizedStringFromDate:[NSDate date]
dateStyle:NSDateFormatterShortStyle
timeStyle:NSDateFormatterFullStyle];
NSLog(@"%@",dateString);

检查这段代码...将你的字符串传递给数组

关于ios - 将 NSDate 转换为 NSString 以保存在 NSMutableArray 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20613192/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com