我们曾经声明property
在类之间传递数据如下:
.h file (interface file) @property (nonatomic) double topSpeed; .m file (implementation file) @synthesize topSpeed;
现在没有interface
类,如何在.swift
类之间传递数据?
Swift不提供属性和实例变量之间的区别(即属性的底层存储).要定义属性,只需在类的上下文中声明变量即可.
swift类只是一个ClassName.swift文件.
您将类和属性声明为
class SomeClass { var topSpeed: Double var aStrProperty: String var anIntProperty: Int //Initializers and other functions }
您可以通过点表示法访问属性值.从Xcode6 beta 4开始,Swift中还有访问修饰符(public
,internal
和private
).默认情况下每个属性都是internal
.有关更多信息,请参见此处
有关更多信息,请参阅Swift编程指南:
存储的属性和实例变量
如果您有使用Objective-C的经验,您可能知道它提供了两种方法来存储值和引用作为类实例的一部分.除了属性之外,还可以使用实例变量作为存储在属性中的值的后备存储.
Swift将这些概念统一到一个属性声明中.Swift属性没有相应的实例变量,并且不直接访问属性的后备存储.这种方法避免了在不同的上下文中如何访问值的混淆,并将属性的声明简化为单个明确的语句.有关属性的所有信息(包括其名称,类型和内存管理特征)都在单个位置定义,作为类型定义的一部分.
使用属性.
从Swift编程指南:
存储的属性和实例变量
如果您有使用Objective-C的经验,您可能知道它提供了两种方法来存储值和引用作为类实例的一部分.除了属性之外,还可以使用实例变量作为存储在属性中的值的后备存储.
Swift将这些概念统一到一个属性声明中.Swift属性没有相应的实例变量,并且不直接访问属性的后备存储.这种方法避免了在不同的上下文中如何访问值的混淆,并将属性的声明简化为单个明确的语句.有关属性的所有信息(包括其名称,类型和内存管理特征)都在单个位置定义,作为类型定义的一部分.