2013-05-21 67 views
0

所以我有3 UITextFields在我的應用程序的一個視圖和5個標籤在另一個視圖。該應用程序的目的是爲用戶輸入多達三行文字,然後讓它做一些很酷的動畫素材。我想要做的是記錄/顯示用戶在視圖中使用標籤製作的5個最新條目。換句話說,我想顯示用戶使用文本字段將5個以前的內容放入應用程序。如何使用UILabels顯示來自UITextField的歷史記錄?

我想使用格式(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]; 
} 

這樣做的問題是,我不知道再怎麼向下移動的第一項到另一個標籤,當用戶輸入更多的文字。

回答

0

存儲一個字典數組,其中鍵值對是要存儲的文本和一個NSDate。然後你可以按日期時間對數組進行排序,並選擇你需要的最新n。

+0

感謝您的建議。 – Dave123

相關問題