2012-05-28 41 views
0

我正在研究一個使用凹凸技術的應用程序。我有四個選項卡,其中一個是表視圖。我在應用程序委託類中編寫了這個凹凸API,以便在應用程序打開時它應該能夠傳輸數據.Transfer函數正常工作。但問題是我將數據插入到sq-lite中,並且sqlite中的數據顯示在其中一個標籤欄項目視圖中。因此,當用戶選擇此標籤欄項目並接收數據時我想插入並重新加載視圖與新的changes.As之前插入我說working.But問題是重新加載視圖。可以幫助我解決這個問題嗎?如何從另一個類調用函數並從當前類重新加載該視圖?

回答

0

無論何時插入/編輯記錄,您都可以使用NSOperation在後臺執行插入併發布通知。將偵聽器添加到您要顯示數據的View控制器。

所以無論何時控制器收到通知,它都會調用該方法從數據庫中重新加載數據。

@implementation MyClass 

- (void) dealloc 
{ 
    [[NSNotificationCenter defaultCenter] removeObserver:self]; 
    [super dealloc]; 
} 

- (id) init 
{ 
    self = [super init]; 
    if (!self) return nil; 


    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadData:) name:@"COREDATA_OBJECT_EDITED" object:nil]; 

    return self; 
} 

- (void) reloadData:(NSNotification *) notification 
{ 
    if ([[notification name] isEqualToString:@"COREDATA_OBJECT_EDITED"]) 
     { 
      //load records from database and reload tableview 
     } 
} 

@end 





//Method where you are saving data objects in some other class 

- (void) saveDataObject 
{ 

    //Save Data object, if saved successfully then post notification to listener to reload the data 
    // All instances of MyClass will be notified 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"COREDATA_OBJECT_EDITED" object:self]; 

} 
+0

你能告訴我一些這方面的教程。我是這款iPhone開發的新手。用一個例子編輯回答 –

+0

。希望這會幫助你。 –

+0

感謝您節省我的一天 –

相關問題