如何使用UILabels从UITextField显示历史记录?

时间:2013-05-21 19:35:50

标签: objective-c uitextfield nsuserdefaults

所以我在我的应用程序的一个视图中有3个UITextFields,在另一个视图中有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];
}

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

1 个答案:

答案 0 :(得分:0)

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