2016-05-07 7 views
1

Ich möchte eine Funktion in ViewDidLoad-Methode mit mehreren Parametern aufrufen. Aber es zeigt den FehlerSo rufen Sie eine Funktion in ViewDidLoad mit mehreren Parametern mit Swift

Fehlende Argument ‚didFindNewAccessory'in nennen

Hier ist mein Code:

override func viewDidLoad() { 
     addaccessory(self) 
} 

func addaccessory(browser: HMAccessoryBrowser, didFindNewAccessory accessory:HMAccessory){ 

     print("Found new accessory") 
     home?.addAccessory(accessory, completionHandler: { 
      error in 
      if error != nil { 

       print("Failed to add it to home") 

      }else{ 
       print("Successfully Added") 
       self.home?.assignAccessory(accessory, toRoom: self.room!, completionHandler: { 
        error in 

        if error != nil{ 
         print("Unable to add to room") 
        }else{ 
         print("Successfuly added to ropom") 
         self.findOrCreatedServioceGroup() 
        } 
       }) 
      } 
     }) 
    } 
+0

die Funktion zwei Argumente übernimmt, können Sie es mit nur einem 'addaccessory (Selbst-)' aufrufen, wie die Fehlermeldung – rll

Antwort

1

Sie müssen das Argument an die Funktion addaccessory liefern. In Ihrem Fall müssen Sie eine browser: HMAccessoryBrowser und accessory:HMAccessory haben, deshalb ist Ihr Anruf addaccessory(self) falsch mit ungültigem Argument. Sie sollten etwas davon haben:

addaccessory(yourBrowser, didFindNewAccessory: yourAccessory) 
+0

Danke sagt @Manalalz: ich war Gesicht dieses Problem, das viele Zeit. vielen Dank Alter. –

Verwandte Themen