如何在Swift中引用类?

时间:2015-11-04 23:21:47

标签: objective-c swift code-translation

就iOS语言而言,我真的只知道Swift,但我正在尝试学习如何从Objective C转换。我正在做它(帮助我知道C#)并使用{ {3}}但我对指南中没有的某些方面感到难过。

例如,从this as a guide for translation开始,尝试翻译这些说明对我来说完全没有意义:

  

打开新添加的标题CERangeSliderKnobLayer.h并替换   其内容如下:

#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

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

import UIKit
import QuartzCore

class CERangeSliderKnobLayer: CALayer {

}

这一切会在哪里?在课堂上我假设。特别是物业设置。

1 个答案:

答案 0 :(得分:5)

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

你想要的是这个:

import UIKit
import QuartzCore

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

这应该在文件 CERangeSliderKnobLayer.swift

在objc中由@property生成的getter和setter在Swift中声明var时自动完成