2016-03-22 5 views
1

Wenn ich versuche, Swift geschachtelte Klasse passieren funktionieren erwartet AnyClass Parameter I folgenden Compiler-Fehler:Kann nicht Swift verschachtelte Klasse als AnyClass Parameter übergeben

Expected member name or constructor call after type name

Gibt es eine Weise, die ich oben Fehler beheben können und verschachtelte Klasse übergeben als Parameter?

func getInfo(type: AnyClass) -> UInt32 
{ 
    var outPropCount: UInt32 = 0 

    let properties: UnsafeMutablePointer<objc_property_t> = class_copyPropertyList(type, &outPropCount); 

    free(properties) 
    return outPropCount 
} 

public class Outer: NSObject 
{ 
    public class Data: NSObject 
    { 
     public var groups: [Int] = [] 
    } 
} 

public class Data: NSObject 
{ 
    public var groups: [Int] = [] 
} 


let o = getInfo(Outer) // works 

let d = getInfo(Data) // works 

let i = getInfo(Outer.Data) // fails to compile 

Antwort

1

Lösung ist .self zu verwenden Typ

let i = getInfo(Outer.Data.self) 
zugreifen
Verwandte Themen