2017-01-02 94 views
-1

我是新来的斯威夫特3,我有下面的代码有问题:未解决的标识符范围

func downloadData() {... downloads data about actors in JSON and initializes a Struct Actor} 

则:

class MasterViewController: UITableViewController { 

    var dataArray = [Actor]() //declare an empty array of type Actor 

    override func viewDidLoad() { 

     super.viewDidLoad() 

     dataArray = downloadData() //to populate an empty array with data downloaded from web 

     print(dataArray) 

当我尝试编译我收到的错误未解决的代码标识符。我认为这是因为范围。任何人都可以指出我的正确方向吗?谢谢!

+1

我们需要更多信息继续下去。什么标识符尚未解决?错误发生在哪里? –

+1

你在哪里定义'downloadData()'?它返回什么?它是从Web下载数据的异步函数吗?如果是的话,你需要回电或代表或类似的。 –

+0

为什么要创建一个新的数组,将其分配给'dataArray',然后用'downloadData()'的结果立即覆盖它? – Alexander

回答

0
class MasterViewController: UITableViewController { 

    var dataArray = [Actor]() //declare an empty array of type Actor 

    override func viewDidLoad() { 

     super.viewDidLoad() 

     dataArray = downloadData() //to populate an empty array with data downloaded from web 

     print(dataArray) 
    } 

    func downloadData() -> [Actor] { 

     return [Actor]() 
    } 
} 

只需实施downloadData方法。 编辑: 您可以使用EVReflection和Alamofire(Pods)来下载json并创建Actor并填充数组。

+0

当我尝试填充一个空数组'dataArray = downloadData()'我收到此错误:无法指定type()的值来键入[Actor]。 – Luke

+1

你确定在你的代码中有“func downloadData() - > [Actor]”吗? – Axel

1

您的功能/方法,downloadData()不返回任何内容。

相关问题