2016-12-04 67 views
0

我有一個快速的文件,並在我遵守了我常用的功能,我需要這樣每次當我訪問該功能,我沒有得到價值如何從另一個類數據swift3

Myfirst類

import Foundation 
import UIKit 

class test1 
{ 
    var mydata = NSMutableArray() 


    //MY COMMON FUNCTION 

    func loadMoredata(create_at:String)->NSMutableArray 
    { 
     **//////My CODE** 
     //getting correct data 
     print(mydata) 
     return mydata 
    } 
} 

Mysecond類

override func viewWillAppear(_ animated: Bool) 
{ 
     //Calling that function 
     // not getting data here or empty array 
     let dt:NSMutableArray = test1().loadMoredata(create_at: "0") 

     // not getting data here or empty array 
     print(test1().mydata) 
} 
+0

第一個類是否從網絡中檢索數據? – Paulw11

+0

是Paulw11第一類接收來自webservice –

+0

的數據你能展示更多'loadMoredata'函數嗎?那裏應該有一些「異步」代碼,哪些處理不當。 – dirtydanee

回答

0

你並沒有什麼因爲您的mydata屬性是一個實例屬性,所以從您的函數返回。因此,您創建的每個test1對象都將擁有自己的mydata屬性及其自己的數據。

如果你想存儲全局狀態,你可以使test1爲單例類,其中mydata是全局訪問的。

class test1 
{ 
    static let shared = test1() 
    var mydata = NSMutableArray() 

    private init(){} 


    //MY COMMON FUNCTION 

    func loadMoredata(create_at:String)->NSMutableArray 
    { 
     **//////My CODE** 
     //getting correct data 
     print(mydata) 
     return mydata 
    } 
} 
+0

從其他類中調用此函數時,仍然不會獲得空陣列 –

+0

即使您執行'test1。共享。 loadMoredata(create_at:「0」)'你仍然得到一個空數組?然後你必須在'loadMoredata()'方法內做錯誤的事情。你可以發佈你的代碼以獲得更多信息嗎? – AndreasLukas