如题,swift中可以如此使用。Normal
var button:UIButton = UIButton(frame:CGRectMake(10,10,10,10))
button.setTitle("Button", forState:.Normal)
查看.Norma源码,则是 这样一个结构体:
struct UIControlState : RawOptionSetType {
init(_ rawValue: UInt)
init(rawValue: UInt)
static var Normal: UIControlState { get }
static var Highlighted: UIControlState { get } // used when UIControl isHighlighted is set
static var Disabled: UIControlState { get }
static var Selected: UIControlState { get } // flag usable by app (see below)
static var Application: UIControlState { get } // additional flags available for application use
static var Reserved: UIControlState { get } // flags reserved for internal framework use
}
对于 .Normal 可以这样引用,一直很好奇。这是swift既定语法规则嘛?但是自己试图创建这样一个结构体,却无法成功。还是自己写错了?
我是这样创建的
struct Summation {
static var Normal:Summation? { get {
return nil
}
}
};
class Student{
func setSum(forsm sum:Summation){
}
};
var stu = Student()
stu.setSum(forsm:.Normal!) //此处报错
球大神解答!
http://blog.csdn.net/wxtsmart/article/category/717714
我怎么觉的应该是枚举,而不是结构体呢?枚举是可以删除前面的东西,直接。xxx这个用的
你应该有地反写错了,我按照你的方式试了下是可以的运行的
定义:
struct Summation {
static var ANormal:Summation? {
get {
return nil
}
}
}
func setSum(forsm sum:Summation?) {
}
调用:
self.setSum(forsm: .ANormal)