在Grand Central Dispatch中,QOS类可以在Swift下使用,如下所示:
public struct qos_class_t : RawRepresentable, Equatable {
public init(_ rawValue: UInt32)
public init(rawValue: UInt32)
public var rawValue: UInt32
}
@available(iOS 8.0, *)
public var QOS_CLASS_USER_INTERACTIVE: qos_class_t { get }
@available(iOS 8.0, *)
public var QOS_CLASS_USER_INITIATED: qos_class_t { get }
{ get }
的含义是什么?这些QOS变量的值是如何设置的?与Obj-C不同,没有标题/源分离,所以我有点困惑。如果它只是一个int,为什么首先声明一个结构?
答案 0 :(得分:0)
{ get }
属性通常是计算属性。您不会信任它们存储任何真实值。但是,当被问到它们时,它们会进行一些计算并根据状态返回一个值。
示例:
struct Integer {
var value : Int
var square : Int {
get {
return value * value
}
}
}
它的头文件看起来像:
struct Integer {
var value : Int
var square : Int { get }
}
通过这个,很明显它们不是 set ,它们是计算。
至于你的第二个问题,我不知道。我会在这种情况下创建一个typealias
;类似的东西:
typealias qos_class_t = UInt32
但如果没有更多背景,我真的不能批评这个设计决定。