swift 3 method in objective-c fails with no visible @interface for 'MySwiftClass' declares the selector 'addX:andY'

前端 未结 3 1196
天涯浪人
天涯浪人 2020-12-08 14:35

we are trying to reference swift methods inside an objective-c implementation.

Swift 3 Class:

import Foundation
@objc class MySwiftClass: NSObject {         


        
3条回答
  •  -上瘾入骨i
    2020-12-08 15:21

    As ekscrypto in Swift 4 or later all functions need @objc if you use less versión than Swift 4 is enough @objc in class. Of course in Objective-C class you must add import of NAME_PROJECT-swift.h. If your project name is Sample then you must add:

    #import Sample-swift.h
    

    And then:

    Swift 4 or Less

    @objc class MySwiftClass: NSObject {
        
        func sayHello(){
          //function
        }
    
        func addX(){
          //function
        }
    }
    

    Swift 4 or Greater

    @objc class MySwiftClass: NSObject {
        
        @objc func sayHello(){
          //function
        }
    
        @objc func addX(){
          //function
        }
    }
    

提交回复
热议问题