0

场景: 我已经构建了一个 Swift <-- package simple App,它正在工作。
现在我正在尝试将其转换为 Objective-C <--- 包应用程序。

问题#1:我如何正式导入包?
我读过使用“@import”与旧的“#import”。

现在我得到“'init'不可用”。

在此处输入图像描述

这是包(“RicPackage.swift”):

import Foundation

public struct RicStruct {
    public private(set) var text = "Hello, World!"

    public init() {
    }
    
    public func sayHello() -> String {
        "Hello Ric!"
    }
}

public class RicClass: NSObject {
    @objc public var msg = "Mother has a feeling, I might be too appealing."
    @objc public let text = "Hello Everybody!"
    
    
    public init(msg: String) {
        if msg.isEmpty {
            self.msg = "Hello Ric!"
        }
    }
  
    public func sayHello() {
            print(text)
        }
    
    public func doSomething() {
        print("Inside doSomething()")
    }
}

在此处输入图像描述

我至少想做一些简单的事情,比如:

RicClass *ricClass = [[RicClass alloc] init];
[ricClass sayHello];
4

1 回答 1

1

如果您尝试[[RicClass alloc] init]在 swift 类中调用 add init,我在您的 Swift 类中看不到 init() :

 public override init() {
        
    }

您现在只能initWithMsg使用当前的 swift 类调用:

[[RicClass alloc] initWithMsg:@""]
于 2021-07-30T23:35:21.903 回答