Nat*_*kle 2 objective-c code-translation swift
就iOS语言而言,我真的只了解Swift,但是我试图学习如何从Objective C进行翻译。我做得很好(我知道C#的帮助),并以此为翻译指南,但是我在指南中没有提到的某些点上感到困惑。
例如,从本教程开始,尝试翻译这些说明对我来说绝对没有意义:
打开新添加的标头CERangeSliderKnobLayer.h并将其内容替换为以下内容:
#import <QuartzCore/QuartzCore.h>
@class CERangeSlider;
@interface CERangeSliderKnobLayer : CALayer
@property BOOL highlighted;
@property (weak) CERangeSlider* slider;
@end
Run Code Online (Sandbox Code Playgroud)
在Swift中会是什么样?
我知道该怎么做import QuartzCore,其余的...
什么是@Class斯威夫特?
什么是 @interface?
我有点明白了@property,我猜我只是这样做:
var highlighted: bool
weak var slider: CERangeSlider
Run Code Online (Sandbox Code Playgroud)
我的意思是,当前我新创建的类如下所示:
import UIKit
import QuartzCore
class CERangeSliderKnobLayer: CALayer {
}
Run Code Online (Sandbox Code Playgroud)
那会去哪里?我假设在课堂上。特别是属性设置。
首先,在Swift中,您没有接口和实现。您class可以通过Swift编译器来编写实现部分()和接口,而开发人员通常不会看到。将@class不再可用,因为斯威夫特做进口工作适合你。您只需要确保该类是可访问的即可(在项目中,如果是从objc桥接的,或者是从另一个框架导入的)。
您想要的是这样的:
import UIKit
import QuartzCore
class CERangeSliderKnobLayer: CALayer {
var highlighted: Bool
weak var slider: CERangeSlider
}
Run Code Online (Sandbox Code Playgroud)
这应该在文件CERangeSliderKnobLayer.swift中
在Swift中@property声明a时,由objc 生成的getter和setter 会自动完成var
| 归档时间: |
|
| 查看次数: |
1594 次 |
| 最近记录: |