2016-12-04 65 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