0

所以我UITextFields在我的应用程序的一个视图中有 3 个,在另一个视图中有 5 个标签。该应用程序的目的是让用户输入最多三行文本,然后让它做一些很酷的动画。我要做的是记录/显示用户在我的视图中使用标签创建的 5 个最新条目。换句话说,我想展示用户使用文本字段放入应用程序的 5 件以前的事情。

我想使用格式(textfield1 的字符串,2 的字符串,3 的字符串)显示每个标签中的文本。我正在考虑使用NSUserDefaults来实现这一点。如果您能指出我正确的方向,我将不胜感激,谢谢!另外,如果您需要我澄清,请告诉我。

这就是我现在正在做的......

- (IBAction)dismissUserInputPage {
    link4 = [CADisplayLink displayLinkWithTarget:self selector:@selector(moveTextInputDown)];
    [link4 addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
    [link3 invalidate];

    userInputButton2.hidden = YES;
    userInputButton1.hidden = NO;

    NSString *line1 = textField1.text;
    NSString *line2 = textField2.text;
    NSString *line3 = textField3.text;

    NSUserDefaults *line1Text = [NSUserDefaults standardUserDefaults];
    [line1Text setObject:line1 forKey:@"line1Text"];

    NSUserDefaults *line2Text = [NSUserDefaults standardUserDefaults];
    [line2Text setObject:line2 forKey:@"line2Text"];

    NSUserDefaults *line3Text = [NSUserDefaults standardUserDefaults];
    [line3Text setObject:line3 forKey:@"line3Text"];
}

- (IBAction)presentHistoryView {
    historyView.hidden = NO;

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.5];
    historyView.alpha = 1.0;
    [UIView commitAnimations];

    historyButton1.hidden = YES;
    historyButton2.hidden = NO;

    NSUserDefaults *line1Text = [NSUserDefaults standardUserDefaults];
    NSString *tempString1 = [line1Text stringForKey:@"line1Text"];

    NSUserDefaults *line2Text = [NSUserDefaults standardUserDefaults];
    NSString *tempString2 = [line2Text stringForKey:@"line2Text"];

    NSUserDefaults *line3Text = [NSUserDefaults standardUserDefaults];
    NSString *tempString3 = [line3Text stringForKey:@"line3Text"];

    historyLabel1.text = [NSString stringWithFormat:@"%@, %@, %@", tempString1, tempString2, tempString3];
}

这样做的问题是,当用户输入更多文本时,我不知道如何将第一个条目向下移动到另一个标签。

4

1 回答 1

0

存储一个字典数组,键值对是您要存储的文本和一个 NSDate。然后您可以按日期时间对数组进行排序并选择您需要的最新 n。

于 2013-05-21T22:01:51.133 回答