是否可以为Swift类的属性定义方法
例如,我在Objective-C中有一个名为Test的类,并且该类具有一个名为type的属性testProperty
。NSString
测试
@interface Test : NSObject
@property (nonatomic, readonly) NSString *testProperty;
@end
我在实现中为此属性定义了一个getter方法:
测试
#import "Test.h"
@implementation Test
-(NSString*)testProperty
{
return @"testing property like method";
}
@end
我该如何在Swift中做同样的事情?如果在Swift中上课,
import UIKit
class Test: NSObject {
var testProperty : String?
func testProperty() -> String {
return "testing property like method"
}
}
然后我收到一个错误:
“无效的testProperty()的重新声明”
这些称为Computed properties
https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Properties.html
例子
var testProperty: String {
return "testing property like method"
}
子类
class ClassA: NSObject {
var testProperty: String {
return "This is Class A"
}
}
class ClassB: ClassA {
override var testProperty: String {
return "This is Class B"
}
}
let test = ClassB()
print(test.testPropery) // prints "This is Class B"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句