簡體   English   中英

Objective C可變數組

[英]Objective C Mutable Array

我在程序中使用NSMutableArray時遇到問題。

我的視圖控制器中包含一個數組,該數組在整個程序過程中都添加了字符串。 該數組在viewController中聲明。

NSMutableArray *tableData;

我試圖在同一個視圖控制器中運行一個方法來將數組元素保存到表中。 當通過視圖控制器訪問方法時,如下所示,它可以正常工作

[self saveData];

當我通過應用程序委托調用相同的saveData方法時,數組似乎不包含任何數據。

listView是appDelegate中的對象,用於引用包含save方法的視圖控制器。

ListAppViewController* listView = [[ListAppViewController alloc] init];
[listView saveData];

從applicationWillTerminate方法中調用此方法。 我認為數組元素不可用於appDelegate,這就是為什么計數為0的原因?

基本上從不調用applicationWillTerminate 當應用程序進入后台(退出狀態)時,您需要觸發保存。

當您執行ListAppViewController* listView = [[ListAppViewController alloc] init] ,您將創建視圖控制器的新實例。 如果要保存您在該視圖控制器中擁有的任何數據,則將無法正常工作(因為您沒有訪問應用程序一直在使用的實例)。

這是您可以做的事情:

  1. 從您的應用程序委托的applicationWillTerminate方法發布通知
  2. ListAppViewControllerList訂閱該通知
  3. 在通知處理程序中調用[self saveData]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM