2016-10-14 3 views
1

Ich aktualisierte zu Swift 3.0 und ich bekomme diese beiden Fehler bitte helfen. der Code und Bilder unterSwift 3 Updates, die Fehler verursachen

Theres bekomme ich einen Fehler bei self.blockfinish

var blockFinish: ((_ selectedTags: Array<Tag>, _ unSelectedTags: Array<Tag>) ->())! 

func finishTagController() { 
    var selected: Array<Tag> = Array() 
    var unSelected: Array<Tag> = Array() 

    for currentTag in tags { 
     if currentTag.isSelected { 
      selected.append(currentTag) 
     } 
     else { 
      unSelected.append(currentTag) 
     } 
    } 
    self.dismissViewControllerAnimated(true, completion: {() -> Void in 
     self.blockFinish(selectedTags: selected, unSelectedTags: unSelected) 
    }) 
} 

Hier bekomme ich einen Fehler bei let ("addTagView.textEdit.text.stringByTrimmingCharactersInSet (SPACESET)")

func createNewTag() { 
    let spaceSet = NSCharacterSet.whitespaces 
    let contentTag = addTagView.textEdit.text.stringByTrimmingCharactersInSet(spaceSet) 
    if strlen(contentTag) > 0 { 
     let newTag = Tag(isSelected: false, isLocked: false, textContent: contentTag) 
     tags.insert(newTag, atIndex: tags.count) 
     collectionTag.reloadData()    
    } 
    cancelEditTag() 
} 

Error image

+0

Willkommen bei Stackoverflow! Sie haben die Frage bearbeitet, um eines Ihrer Probleme zu löschen, nachdem ich es beantwortet habe, und ich habe diese Änderung rückgängig gemacht. Löschen Sie keine Fragen, nachdem sie beantwortet wurden, denn es geht auch darum, anderen mit diesen Informationen zu helfen. Auch für die Zukunft, wenn die Fehlermeldungen so einfach sind wie die, die Sie haben, geben Sie sie einfach in die eigentliche Frage ein oder fügen Sie sie ein, anstatt einen Screenshot-Link einzufügen. Links können verschwinden und diese Information wird für immer verloren sein, ganz zu schweigen von dem Fehler, der nicht durchsuchbar sein wird. – Dima

+0

Sorry, ich wollte auf das Problem hinweisen, ich werde es zurück ändern – ahmed

+0

Dina können Sie mir bitte helfen, tut mir leid – ahmed

Antwort

0

die Signatur für die Fadenschneidverfahren hat sich in Swift 3,0 verändert. Here is the new method:

func trimmingCharacters(in set: CharacterSet) -> String 

Also statt:

let contentTag = addTagView.textEdit.text.stringByTrimmingCharactersInSet(spaceSet) 

Sie würden dies tun:

let contentTag = addTagView.textEdit.text.trimmingCharacters(in: spaceSet) 

edit: blockFinish nimmt an der Aufrufstelle keine Parameternamen.

ersetzen:

self.blockFinish(selectedTags: selected, unSelectedTags: unSelected) 

mit:

self.blockFinish(selected, unSelected) 
+0

Was ist mit dem anderen Fehler, könnten Sie mir dabei helfen, der Blockfinish Fehler – ahmed

+0

Ihr Recht, aber der Block Fertig Fehler macht mich wirklich kämpfen – ahmed

+0

können Sie bitte helfen – ahmed