Ich möchte eine generische Hilfsfunktion erstellen, die einige Verarbeitung ausführt. Eine seiner Eingaben wird eine Funktion sein, die ein Array von etwas zurückgibt.Argument für generischen Parameter 'T' konnte nicht abgeleitet werden
Ich kann nicht herausfinden, wie das geht. Ich bekomme immer einen Kompilierungsfehler. Ich fand den Beitrag
argument for generic parameter could not be inferred
und versuchte das Hinzufügen ...as [String]
oder ... as [Int]
, etc., aber kein Glück.
func helperThatDoesSomeGenericProcessing<T>(displayedStrings:() -> [T]) -> [String]! {
let listOfSomething: [T] = displayedStrings()
// do something with listOfSomething
return ["some", "resulting", "string", "from", "the", "input"]
}
func concreteFunction1() -> [AnyObject]! {
var s: [String] = helperThatDoesSomeGenericProcessing { // ERROR: Argument for generic parameter 'T' could not be inferred.
var str = ["One", "Two", "Three"]
} // tried 'as [String]' here
// do something with s
return s
}
func concreteFunction2() -> [AnyObject]! {
var s: [Int] = helperThatDoesSomeGenericProcessing { // ERROR: Argument for generic parameter 'T' could not be inferred.
var i = [1, 2, 3]
} // tried 'as [Int]' here
// do something with s
return s
}
Was versuchst du genau zu tun? Das ist ziemlich verwirrend, ohne genauere Angaben darüber zu haben, was für eine Art von Verarbeitung Sie gerade versuchen ... weil es ein bisschen wie ein XY-Problem aussieht. – nhgrif