2017-08-01 70 views
0

我希望数组的结构作为参数在我的函数中进行更改,如果我想要字符串来更改我把文本:字符串,但是当我想测试时要放什么:ArrayOfStruct作为参数?如何获取多个结构数组的一个函数?

func prizeCsGoArraySetup(arrayToAppend: here i want my struct){ 
    if UserDefaults.standard.object(forKey: "prizeArray") != nil { 
     let demo = UserDefaults.standard.object(forKey: "prizeArray") as! NSDictionary 
     if let priArray = demo.value(forKey: "csgo") as? NSArray{ 
      for prizeItem in priArray { 
       if let prizeVC = prizeItem as? NSDictionary{ 
        let newElement : prize = prize(category: prizeVC.value(forKey: "category") as! String, name: prizeVC.value(forKey: "name") as! String, price: prizeVC.value(forKey: "price") as! Int, image: prizeVC.value(forKey: "image") as! String) 
        arrayToAppend.append(newElement) 

我想为另外7个数组添加可变结构数组,怎么做? 我不想整个函数写7次。

+0

很难说出你在问什么。你能否将你的代码减少到能够说明你的问题的MWE? – Raphael

回答

0

我找到答案,我需要在使用前INOUT。

func prizeArraySetup(arrayToAppend: inout [prize], forKeyText: String) 
0

它很容易

func prizeCsGoArraySetup(arrayToAppend: [MyStruct]) 
+0

根据问题中“可变”的含义,可能在这里有一个“inout”。 – Raphael

+0

是的,它在我的情况下是缺少的。 –

+0

如果我会这样做,你会得到错误,不能对不可变值使用变异成员 –

相关问题