首页 > 解决方案 > 生成字典函数的问题

问题描述

有这样的功能……</p>

func getCricketerList() {
    presenter?.cricketerListDidFetch(cricketerList: getAllCricketerDetail())
  }

在这里,getAllCricketerDetail()给出为……</p>

func getAllCricketerDetail() -> [Cricketer] {
    var cricketerList = [Cricketer]()
    let allCricketerDetail = Common.generateCricketerList()
    for cricketer in allCricketerDetail {
      cricketerList.append(Cricketer(attributes: cricketer))
    }
    return cricketerList
  }

是这样给出的Common.generateCricketerList()……</p>

class Common: NSObject {

  class func generateCricketerList() -> [[String: String]] {
    return [["name": "Sachin Tendulkar","country":"India"],["name":"Brett Lee","country":"Australia"],["name":"Wasim Akram","country":"Pakistan"],["name":"Sourav Ganguly","country":"India"],["name":"Jonty Rhodes","country":"South Africa"]]
}
}

这工作正常。现在在其他地方我正在尝试实现类似的功能。为此,我定义了一个名为Common2. 现在,我想要这个类 3 键/值对,即名称、描述和图像。我给的就是这样……</p>

class Common2: NSObject {
  
  func generateCricketerDetailList() -> [[String:Any]] {
    return [["name": "Sachin Tendulkar","description":"add description here","image": UIImage(named: "Sachin.jpeg")!],["name":"Sourav Ganguly","description":"add description here","image":UIImage(named: "sourav.jpeg")!],["name":"Adam Gilchrist","description":"add description here","image":UIImage(named: "adam.jpeg")!],["name":"Jonty Rhodes","description":"add description here","image":UIImage(named: "adam.jpeg")!],["name":"Wasim Akram","description":"add description here","image":UIImage(named: "wasim.jpeg")!]]
  }
}

现在,当我尝试Common2在函数中实现时,我得到了这样的建议…… 在此处输入图像描述

现在,如果我单击突出显示的选项,我会得到类似的东西......

在此处输入图像描述

我是什么做的...?我在这里做错了什么......?

generateCricketerDetailList()我定义的函数也是Common2正确的......?

标签: iosswiftdictionary

解决方案


你忘了把它变成一个像另一个一样的类函数......

class func generateCricketerDetailList() -> [[String:Any]] {
    return [["name": "Sachin Tendulkar","description":"add description here","image": UIImage(named: "Sachin.jpeg")!],["name":"Sourav Ganguly","description":"add description here","image":UIImage(named: "sourav.jpeg")!],["name":"Adam Gilchrist","description":"add description here","image":UIImage(named: "adam.jpeg")!],["name":"Jonty Rhodes","description":"add description here","image":UIImage(named: "adam.jpeg")!],["name":"Wasim Akram","description":"add description here","image":UIImage(named: "wasim.jpeg")!]]
}

与问题无关,我建议您将信息存储在结构而不是字典中。除非您为了这个问题而试图模仿 api 响应。


推荐阅读