Классовые (или статические) методы в Objective-C выполнялись с использованием +
в объявлениях.
@interface MyClass : NSObject
+ (void)aClassMethod;
- (void)anInstanceMethod;
@end
Как этого добиться в Swift?
Они называются свойствами типа и методы типа и вы используете class
или static
ключевые слова.
class Foo {
var name: String? // instance property
static var all = [Foo]() // static type property
class var comp: Int { // computed type property
return 42
}
class func alert() { // type method
print("There are \(all.count) foos")
}
}
Foo.alert() // There are 0 foos
let f = Foo()
Foo.all.append(f)
Foo.alert() // There are 1 foos
class
ключевое слово перед функцией или свойством вычисляемого типа не требуется .В Swift они называются свойствами типа и методами типа, и вы используете ключевое слово class.
Быстрое объявление метода класса или метода Type:
Доступ к этому методу:
или вы можете быстро сослаться на методы
источник
Добавьте к объявлению,
class
если это класс, илиstatic
если это структура.источник
func
здесь не нужно ключевое слово?Swift 1.1 не имеет сохраненных свойств класса. Вы можете реализовать его, используя свойство класса закрытия, которое выбирает связанный объект, связанный с объектом класса. (Работает только в классах, производных от NSObject.)
источник
Добавьте к объявлению class или static, если это функция, или static, если это свойство.
источник