Objective c 如何在Swift中引用类?

Objective c 如何在Swift中引用类?,objective-c,swift,code-translation,Objective C,Swift,Code Translation,就iOS语言而言,我只知道Swift,但我正在努力学习如何从Objective C进行翻译。我在这方面做得不错(了解C#有助于我)并使用它,但我在指南中没有提到的某些方面遇到了困难 例如,从中,试图翻译这些说明对我来说毫无意义: 打开新添加的标题CERangeSliderKnobLayer.h并更换 其内容包括: 我的意思是,目前我新创建的类如下所示: import UIKit import QuartzCore class CERangeSliderKnobLayer: CALayer {

就iOS语言而言,我只知道Swift,但我正在努力学习如何从Objective C进行翻译。我在这方面做得不错(了解C#有助于我)并使用它,但我在指南中没有提到的某些方面遇到了困难

例如,从中,试图翻译这些说明对我来说毫无意义:

打开新添加的标题CERangeSliderKnobLayer.h并更换 其内容包括:

我的意思是,目前我新创建的类如下所示:

import UIKit
import QuartzCore

class CERangeSliderKnobLayer: CALayer {

}

这一切将走向何方?在我假设的班级里。尤其是属性设置。

首先,在Swift中,您没有接口和实现。实现部分(
)和接口由Swift编译器编写,开发人员通常从未见过。
@class
不再可用,因为Swift正在为您执行导入工作。您只需要确保该类是可访问的(在项目中,如果来自objc,则桥接;如果来自另一个框架,则导入)

您想要的是:

import UIKit
import QuartzCore

class CERangeSliderKnobLayer: CALayer {
    var highlighted: Bool
    weak var slider: CERangeSlider
}
这应该在CERangeSliderKnobLayer.swift文件中


当您在Swift

@类中声明一个
var
时,objc中的
@property
生成的getter和setter将自动完成,现在就像在中一样是“class”;类myClass{}您不再需要单独的接口定义。只需在一个文件中定义类和方法。所以我的整个项目都在Swift 2.0中,本教程在objective C中。教程的这一部分告诉我为CERangeSlider引用类,我不需要这样做?我只需要把你放在上面的东西放在上面,就这样?他说,关键是要存储在图层中拖动哪个旋钮的逻辑。(添加交互逻辑部分。)我不理解整个教程,但我会说,是的!您真正需要注意的是,在Objc中,您有保存可见函数和属性(public)名称的标题(*.h)。以及包含公共函数/属性实现的实现文件(*.m),但您也可以添加不想公开(私有)的新函数/属性。在Swift中,您只有一种类型的文件(*.Swift)包含您的实现部分。要在Swift中声明公共或私有函数/属性,您需要为每个func/var/let设置适当的修饰符。看看这个和这个是的,或者
var突出显示:Bool告诉swift编译器变量将有一个值。或者最好的方法是使用
var highlighted:Bool=false
true
来明确知道初始值。(仅供参考
Bool()
==false)
import UIKit
import QuartzCore

class CERangeSliderKnobLayer: CALayer {

}
import UIKit
import QuartzCore

class CERangeSliderKnobLayer: CALayer {
    var highlighted: Bool
    weak var slider: CERangeSlider
}