2012-01-18 64 views
0

我已經搜索了很多這個,但我沒有提出任何東西,我唯一能想到的可能會工作的將是NSMutableDictionary。不管怎樣,就某點而言,例如,在一個視圖控制器上,可以將其稱爲InputViewController。 所以在InputViewController上你有兩個UITextFields,可以說「用戶名」和「密碼」。 當用戶點擊保存在InputView上時,它鏈接到「TableView」表格視圖在一個地方顯示用戶名和密碼。說一個名爲「我的用戶名和密碼」的子類別。 當他們點擊它時,會顯示他們在「用戶名」和「密碼」中輸入的用戶名和密碼 非常感謝。任何事情都會有幫助!在不同的視圖控制器上的UITextField和UITableView之間發送數據

回答

1

當用戶點擊「保存」你InputViewController,從UITextFields取值,並將其存儲在一個NSDictionary:

NSDictionary* userCreds = [NSDictionary dictionaryWithObjectsAndKeys: username, @"username", password, @"password", nil]; 

然後傳遞的NSDictionary您TableViewController(您做了一個類通過一些方法如setUserCredentials: (NSDictionary*) userCreds來擴展UITableViewController)。然後,您可以將字典存儲在那裏,並在填充表視圖的數據時檢索值。 (讓我知道你是否需要指針來指示如何從字典中獲取數據以顯示在TableView中,我不知道你希望你的TableView看起來如何,所以你必須在那裏提供更多的信息。)

3

你錯過了MVC的「M」部分。你已經有了你的視圖和控制器,但是你正在試圖創建一個沒有任何模型對象的應用程序,這就是爲什麼你正在掙扎。

創建一個名爲User的NSObject的子類。給它一個名爲「username」和「password」的字符串屬性。它做成一個單通過添加以下方法:

+ (User *)sharedUser 
{ 
    static User *sharedUser = nil; 
    if (sharedUser == nil) 
    { 
     sharedUser = [[User alloc] init]; 
    } 
    return sharedUser; 
} 

現在你可以從你的程序的任何地方通過導入User.h,說

User *user = [User sharedUser]; 

所以,你可以設置用戶名/密碼訪問在說

User *user = [User sharedUser]; 
user.username = theUsername; 
user.password = thePassword; 

而且在你的第二個視圖控制器進行檢索你的第一個視圖控制器說

User *user = [User sharedUser]; 
NSString *username = user.username; 

etc ...

+0

尼克的權利:)關於MVC的一個很好的閱讀是項目需要。這將使您的項目在將來更容易組織和維護。 – Ian 2012-01-18 05:25:54

+0

感謝尼克,我要回過頭來,試着讓我知道它是怎麼回事。 – ZachBamberger 2012-01-28 22:44:59

相關問題