मेरे पास यह कोड है

if let c: NSObject.Type = NSClassFromString(TestProject.ViewController) as? NSObject.Type{
    let c_tmp = c.init()
    c_tmp.perform(Selector(("test")))
}

निष्पादन हेतु:

@objc public func test(){
    print("This is Test ")
}

और यह काम करता है।

लेकिन, फिलहाल इसके साथ एक पैरामीटर भेजने के लिए:

if let c: NSObject.Type = NSClassFromString(TestProject.ViewController) as? NSObject.Type{
    let dato:Int=4
    let c_tmp = c.init()
    c_tmp.perform(Selector(("test")), with: dato)
}

@objc public func test(_ dato:Int=0){
        print("This is Test \(dato)")
    }

मुझे त्रुटि मिलती है:

अपरिचित चयनकर्ता को उदाहरण के लिए भेजा गया 0x7fbec8723cf0 2018-04-17 16:59:16.789925-0600 ExcelAgenda[15973:2000202] *** न आया हुआ अपवाद 'NSInvalidArgumentException' के कारण ऐप को समाप्त करना, कारण: '-[TestProject.ViewController test]: अपरिचित चयनकर्ता उदाहरण के लिए भेजा गया 0x7fbec8723cf0'

मैं पैरामीटर के साथ फ़ंक्शन कैसे कर सकता हूं?

0
Benjamin RD 18 अप्रैल 2018, 02:04

1 उत्तर

सबसे बढ़िया उत्तर

गलत चयनकर्ता। परिवर्तन

c_tmp.perform(Selector(("test")), with: dato)

प्रति

c_tmp.perform(Selector(("test:")), with: dato)
0
Price Ringo 18 अप्रैल 2018, 02:17