gpt4 book ai didi

ios - 无法在 objective-c 中使用 class(swift)

转载 作者:行者123 更新时间:2023-11-30 13:54:09 24 4
gpt4 key购买 nike

我正在执行苹果文档中编写的相同步骤。但我无法访问 objective-c 文件中的 swift 类。

代码:

Swift 文件

import Foundation
import UIKit
@objc class checkk : UIViewController {
func alertView ()
{
let al = UIAlertView(title: "HeLLo", message: "Working", delegate: nil, cancelButtonTitle: "OK", otherButtonTitles: "ww", "sdd")

al.show()

}
}

objective-c 文件

#import "ViewController.h"

#import "SwiftIntoObjectiveC-Bridging-Header.h" // automatically generated by Xcode. Nothing is written in this.

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];

checkk *ck =[checkk new]; // error : use of undeclared identifier check.

// Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];

// Dispose of any resources that can be recreated.
}

- (IBAction)Click:(id)sender {

}
@end

错误: 使用未声明的标识符检查。

最佳答案

在 Objective-C 中,用于访问 Swift 类的导入如下所示:

#import "YOUR_APP_NAME-Swift.h"

其中 YOUR_APP_NAME 实际上是您的目标的模块名称,但它通常与您的应用相同。

该文件包含 Objective-C 访问 Swift 中定义的符号所需的 Swift 原型(prototype)。

就您而言,您的模块名称可能是 SwiftIntoObjectiveC 并且您可以使用

#import "SwiftIntoObjectiveC-Swift.h"

桥接 header 永远不会导入到 Objective-C 中,因为 Objective-C 端不使用它,而仅用于在 Swift 端访问 Objective-C 符号。

关于ios - 无法在 objective-c 中使用 class(swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33864526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com