2017-04-13 87 views
0

这是我用来填充我的collectionView单元格的NSObject类文件。我从firebase提取数据并使用它填充collectionViewCell。 Xcode给出了这个错误“在参数'字典'在调用失踪参数”我尽我所能,但我无法找出缺少的东西。什么导致这个错误,我该如何解决它?在调用中缺少参数'字典'的参数

class BusinessCategory: NSObject { 

var ref: FIRDatabaseReference! 
var name: String? 
var logo: String? 
var featurebusiness: [SampleBusinesses]? 
var type: String? 
init(dictionary: [String: Any]) { 
    self.name = dictionary["BusinessName"] as? String ?? "" 
    self.logo = dictionary["logo"] as? String ?? "" 
} 


static func sampleBusinessCategories() -> [BusinessCategory] { 

    var FinancialInstitutionCatergory = BusinessCategory() 
    FinancialInstitutionCatergory.name = "Financial Institutions" 
    var featurebusiness = [SampleBusinesses]() 
    //logic 


    FIRDatabase.database().reference().child("BusinessCategories/Banks").observeSingleEvent(of: .childAdded, with: { (snapshot) in 

     if let dictionary = snapshot.value as? [String: AnyObject] { 
      let financeApp = SampleBusinesses() 
      financeApp.setValuesForKeys(dictionary) 
      financeApp.name = dictionary["BusinessName"] as? String 

      featurebusiness.append(financeApp) 
     } 
     FinancialInstitutionCatergory.featurebusiness = featurebusiness 

     print(snapshot) 

    }, withCancel: nil) 

    return [FinancialInstitutionCatergory] 

} 
} 

回答

1

的错误说明你需要在任何行有错误的dictionary参数;一个示例可能如下所示:

var FinancialInstitutionCatergory = BusinessCategory(dictionary: [String : Any]) 

不清楚代码中的哪行出错;你需要在某处包含参数。

+0

谢谢,你所说的那一行是错误的那一行。我添加了建议的更改,但它显示此错误“无法将类型'[String:Any] .Type'(又名'字典 .Type')的值转换为期望的参数类型'[String:Any]'” – Ola

+0

取出'< >'......那些不需要;它应该是'dictionary:[“foo”:“bar”]' –

+0

那些不在代码中的只是在注释中。我把var变成了你发布的 – Ola