如何在 Swift 中引用 类?

How do I reference Classes in Swift?

就 iOS 语言而言,我真的只知道 Swift,但我正在努力学习如何从 Objective C 翻译。我在这方面做得很好(帮助我了解 C#)并使用 this as a guide for translation 但我在指南中没有的某些点上感到困惑。

例如,来自 this tutorial,尝试翻译这些说明对我来说完全没有意义:

Open up the newly added header CERangeSliderKnobLayer.h and replace its contents with the following:

#import <QuartzCore/QuartzCore.h>

@class CERangeSlider;

@interface CERangeSliderKnobLayer : CALayer

@property BOOL highlighted;
@property (weak) CERangeSlider* slider;

@end

这在 Swift 中会是什么样子?

我知道如何 import QuartzCore 但其余的...

Swift中的@Class是什么?

什么是@interface?

我现在有点明白 @property 是什么了,我猜我只是这样做了:

var highlighted: bool
weak var slider: CERangeSlider

我的意思是,目前我新创建的 class 看起来像这样:

import UIKit
import QuartzCore

class CERangeSliderKnobLayer: CALayer {

}

所有这些都去哪儿了?我假设在 class 里面。特别是 属性 设置。

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

你要的是这个:

import UIKit
import QuartzCore

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

这应该在文件中 CERangeSliderKnobLayer.swift

在 objc 中由 @property 生成的 getter 和 setter 会在您在 Swift

中声明一个 var 时自动完成