让我开始告诉你,我是 Objective C 的新手。我刚刚读完 Big Nerd Ranch 的书,我想创建一个真正简单和基本的应用程序来了解更多信息。我的想法是创建一个应用程序来计算两个日期之间的周数。我为此创建了一个类并对其进行了测试。这样可行。
正如您在下面看到的,我已经创建了视图(以编程方式),一个带有日期,另一个将在您单击开始或结束日期时变得可见。
如果您选择一个日期并单击“计算周”按钮,您将返回到第一个视图。不,我的大问题是,如何将这个选定的值返回到我的主屏幕?我尝试了几种可能性并在网上搜索信息,但我无法工作。我知道这应该很容易,但对我来说现在不是。:-)
我创建了一个包含值“开始日期”和“结束日期”的 NSMutableArray。我的想法是将 UILabel 的值从 SelectDateView 添加到这个数组。我为此在 inputview@property (readwrite, retain) NSMutableArray *datesArray;
中创建了一个属性。
在 selectDateViewController 我创建了另一个属性@property (nonatomic, assign) BITInputViewController *ivc;
,所以我(在我看来)可以向 datesArray 添加一个值。
当我选择调用此方法的日期时,它适用于 SelectDateView 上的 UILabel,但对 datesArray 没有任何作用。
- (void)LabelChange:(id)sender{
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateStyle = NSDateFormatterMediumStyle;
dateLabel.text = [NSString stringWithFormat:@"%@",
[df stringFromDate:datePicker.date]];
[ivc.datesArray addObject:dateLabel.text];
if (ivc.datesArray) {
for (NSString *d in ivc.datesArray) {
NSLog(@"This is in datesArray %@",d);
}
}else NSLog(@"!ivc.datesArray");
}
当我测试应用程序并选择日期时,我总是在日志文件中看到“!ivc.datesArray”。
我也对 ivc.datesArray 进行了检查,在-(void)viewWillAppear:(BOOL)animated
这里我看到了当前日期,因为我- (void)viewDidLoad
用这个设置了这个日期dateLabel.text = [NSString stringWithFormat:@"%@",[df stringFromDate:[NSDate date]]];
(当我在输入视图中打印出数组时,它会显示开始日期和结束日期,但不显示所选日期。)
希望有人可以给我一些指示。