我有一个Obj-C项目,我正试图迁移到Swift.我的确在各种课程上取得了成功,但最近遇到了一个我似乎无法理解的问题.当我试图编译我当前的代码库时,我得到以下信息(超级无用的错误消息)

命令/Applications/Xcode.app/Contents/Developer/toolschains/xcodefault.xctoolchain/usr/bin/swiftc失败,退出代码为1

在此处输入图像描述

我唯一的假设是它在某种程度上与我的桥接头相关,但Xcode没有给我足够的信息来判断这是否真的是真的.

我用CocoapodsCorePlot加到我的项目中.我正在try 将以下类迁移到Swift:

Obj-C类(ScatterPlotContainer.h)

#import <Foundation/Foundation.h>

@class CPTScatterPlot;

@interface ScatterPlotContainer : NSObject
@property (nonatomic, strong) CPTScatterPlot *ahrsAlt;
@property (nonatomic, strong) CPTScatterPlot *calibration;
@property (nonatomic, strong) CPTScatterPlot *coreAlt;
@property (nonatomic, strong) CPTScatterPlot *pitch;
@property (nonatomic, strong) CPTScatterPlot *roll;
@property (nonatomic, strong) CPTScatterPlot *slip;
@end

Obj-c类(ScatterPlotContainer.m)

#import <CorePlot/CPTScatterPlot.h>
#import "ScatterPlotContainer.h"


@implementation ScatterPlotContainer {

}
@end

快速转换

import Foundation

 class ScatterPlotContainer : NSObject {
    public var ahrsAlt : CPTScatterPlot;
    public var calibration : CPTScatterPlot;
    public var coreAlt : CPTScatterPlot;
    public var pitch : CPTScatterPlot;
    public var roll : CPTScatterPlot;
    public var slip : CPTScatterPlot;
}

我的桥接头文件

#import <CorePlot/CPTScatterPlot.h>

到目前为止我都试过了

当我从桥接头文件中注释掉#import <CorePlot/CPTScatterPlot.h>时,我在swift中得到一个错误,因为它不知道什么是CPTSatterPlot

我也试了#import <CPTScatterPlot.h>次,但都没用.

思想

所以我能想到的唯一一件事可能是,因为我使用的是可可荚,所以我需要添加一些模块名.错误消息真的没有那么有用.有没有人对我犯的一些刺耳的错误有什么建议,或者如何获得更具描述性的错误消息来了解发生了什么?

推荐答案

我做了同样的回答,但我的问题没有得到解决.我确实发现这个问题与中断的函数调用有关.

函数语法没有错,但它的调用机制错了.

要判断此问题的确切错误,请判断以下内容:

Select issue navigator > Click on error will show logs for error > In that select All Messages tab.

这将显示此错误的所有详细日志(log).

在此处输入图像描述

向下滚动,你会看到日志(log),比如我的情况

在此处输入图像描述

所以,通过阅读本文,我发现函数调用有问题.我浏览了我的代码并解决了它,下面是正确和错误的代码.

Wrong Way:

var region = MKCoordinateRegionMake(self.mapView.userLocation.coordinate, span)
// It will not shown error here but when you build project compiler shows error.

Right Way:

let region = MKCoordinateRegion(center: self.mapView.userLocation.coordinate, span: span)

Swift相关问答推荐

复选标记动画的问题

我应该在自定义存储队列上使用弱self 吗?

在visionOS 1.0中已弃用';base Color';:请改用`Color`属性

声明一个协议时使用和不使用任何单词有什么区别?

在SWIFTUI&39;S视图修改器中使用等待关键字

将NavigationSplitView更改为NavigationStack

KMM-Swift铸造密封类

有条件地在同一视图上设置两个不同的过渡

macOS 的窗口框架中使用的真实类型和真实类型是什么?

如何在 Combine 合并运算符的输出上使用 eraseToAnyPublisher

如何在 SWIFTUI 中旋转修剪?

令人满意的 var body:协议扩展中的一些视图

使用 Date.ParseStrategy 将字符串解析为日期

临时添加到视图层次 struct 后,Weak view引用不会被释放

在 iOS 中使用 Swift 保存 PDF 文件并显示它们

在 Swift 框架中加载资源(例如故事板)

如何从 UITableViewCell 类中引用 UITableViewController?

将活动指示器 colored颜色 更改为黑色

使用 JSONEncoder 对类型为 Codable 的变量进行编码

使用 swift IOS 使 UIBarButtonItem 消失