我有一個應用程序,我需要在一個頁面中保存提醒,並在其他顯示保存的提醒。我已經成功地使用sqlite3!如何根據選擇器視圖中選擇的行組件更新表視圖數據
在視圖提示頁面中,用戶將有3個選項可供查看,查看我已經實現的所有視圖組,包含4組提示。由於它們只是4組,因此我創建了4個視圖控制器4獨特groups.Just簡單地使用它的工作完美以下查詢:
NSString *sqlQuery = [NSString stringWithFormat:@"select * from reminders WHERE grp = 'Friends'"];
但是我有一個觀點每月網頁,其中包含在選擇器視圖12個組件的用戶選擇,即所有12個月的問題年:
我已經找到了在特定月份檢索所有提醒的查詢,比如說d月月‧日,我曾嘗試使用下面的查詢檢索:
NSString *sqlQuery = [NSString stringWithFormat:@"select * from reminders WHERE Date BETWEEN '2012-12-01' AND '2012-12-31'"];
進入查看每月的頁面(控制器)之前,還有我剛纔提到了一個月選擇器視圖,我知道我們能有獨立的視圖控制器頁用於顯示12個月的數據,就像我在查看組提醒時所做的那樣,但是代碼變得繁忙。因此,我希望根據在選取器視圖(行組件)中選擇的月份自動更新表視圖。
我發現了一個類似的問題,但問題沒有得到答案!
Update table view data based on row component selected in picker view
我試圖其中選擇器視圖存在對於其中得到顯示的數據視圖控制器來創建類控制器的一個實例:
ERViewEditController * viewEditController;
,並在檢索我用下面的代碼:
if(viewEditController.monthPicker selectedRowInComponent:0)
{
sqlQuery = [NSString stringWithFormat:@"select * from reminders WHERE Date BETWEEN '2012-01-01' AND '2012-01-31'"];
sql_stmt = [sqlQuery UTF8String];
}
else if(viewEditController.monthPicker selectedRowInComponent:1)
{
sqlQuery = [NSString stringWithFormat:@"select * from reminders WHERE Date BETWEEN '2012-02-01' AND '2012-02-31'"];
sql_stmt = [sqlQuery UTF8String];
}
等...等所有個月,然後用下面的代碼顯示:現在越來越顯示
if (sqlite3_prepare_v2(self.remindersDB, sql_stmt, -1, &statament, NULL) == SQLITE_OK)
{
while (sqlite3_step(statament) == SQLITE_ROW)
{
ReminderClass *remin = [[ReminderClass alloc]init];
remin.Name = [[[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statament, 1)]autorelease];
remin.Event = [[[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statament, 2)]autorelease];
remin.Date = [[[NSString alloc]initWithUTF8String:(const char *)sqlite3_column_text(statament, 3)]autorelease];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:remin.Date];
[dateFormat setDateFormat:@"MMMM dd"];
NSString *dateVal = [dateFormat stringFromDate:date];
remin.Date = dateVal;
[self.monthArray addObject:remin];
[remin release];
}
sqlite3_finalize(statament);
}
沒有:(
我該如何達到這個要求,能不能請你幫我一把寶貴的建議!
感謝所有提前:)
是啊,我知道如何重新加載table.But的數據我要求是:我有一個12個月的選擇器視圖。現在,當我選擇一行時,它將導航到一個視圖控制器,在該視圖控制器中顯示與該月相對應的提醒。 但我不能有12個視圖控制器來顯示12個相應月份的提醒。所以我希望表視圖根據選定的月份自動更新。是否有任何方式將選擇器視圖行組件與表視圖數據... 請幫我在這方面。請再次看到這個問題... 感謝您的回答和關注:) – 2012-01-02 07:46:29