2012-10-16 40 views
0

我正在使用一個主詳細應用程序。在主節中列出了記錄,詳細信息部分顯示了每條記錄的詳細信息。細節部分是我們可以編輯每條記錄的表格視圖。問題是,「在編輯記錄時,如果我點擊另一邊的記錄,我對原始記錄所做的任何更改都會丟失,並且新記錄詳細信息顯示在表格視圖中」... can誰能告訴我如何證明請求警報「保存或取消之前「展現了新記錄的細節」 ..如何在離開表格視圖前顯示警報。

回答

0

,我對原始記錄所做的任何更改將丟失

開發應用程序的通用規則是

NEVER鬆動用戶的工作

因此,這將也許只是是隻救什麼用戶改變了最好的主意。

但是,讓我們頭到您的實際問題:

誰能告訴我如何顯示警報

我想你的意思是那些看起來像有兩個按鈕推送通知塗改。 用UIAlertView創建它們。 然後在警報的代表中,您可以確定哪個按鈕被按下,您可以決定如何繼續。只是檢查出的UIAlertView中的文件 - 這是很簡單的:)

+0

是的,它的簡單我知道,但我還提到「警報應顯示在新的記錄細節之前顯示」這裏發生的是警報框顯示,但我失去了我所做的更改..我的意思是,當顯示警報,它也有必要進一步導航.. – Clement

+0

你可以爲每個記錄創建一個布爾屬性。每當用戶改變某些東西時,您可以將其設置爲yes,否則不會。現在在負責顯示記錄的方法中,您可以確定這個更改的布爾值是否爲真 - 在這種情況下,您可以根據需要進行操作,然後像以前一樣繼續顯示新記錄。 –

0

試試這個,

-(void)tableView:(UITableView *)tableView1 didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:LString(@"ISCO_FLOW_CALC") message:LString(@"DELETE_MESSAGE") delegate:self cancelButtonTitle:LString(@"CANCEL") otherButtonTitles:LString(@"SAVE"), nil]; 
     alert.tag=11; 
     [alert show]; 
     [alert release]; 
} 
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { 

    if(buttonIndex==1 && alertView.tag==11) 
    { 
     //your save data action; 
    } 
    if(buttonIndex==0 && alertView.tag==11) 
    { 
     //your Cancel data action; 
    } 
} 
+0

顯示新記錄詳細信息後顯示警報...所以我失去了我所做的所有更改 – Clement

+0

@Maya恢復您的數據... – Venkat

+0

我認爲您正在使用數組來存儲和顯示tableview中的數據??? – Venkat

0

保持對它的引用您的DetailViewController在MasterViewController 如。在MasterViewController.h:

DetailViewController *detailVC; 

在didSelectRowAtIndexPath方法設置此引用您最近DetailViewController並經常檢查,如果它不是零呈現出新的detailVC前

DetailViewController *controller=[[DetailViewController alloc] init]; //Or similar 
if (detail){ 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Save or Cancel" message:@"Save or Cancel" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Save",nil]; 
    [alert show]; 
} 
else{ 
detailVC=controller; 
//Show controller 
} 

後,現在顯示新detailViewController用戶點擊該UIAlertView中的一個按鈕:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { 
if (buttonIndex==0) { //Tapped cancel 
    //show detailVC 
} 
else{ //Tapped save 
//save 
//Show detailVC 
} 
} 

希望這有助於