是否可以为 Swift 类的属性定义方法
例如,我在 Objective-C 中有一个名为 Test 的类,这个类有一个名为 testProperty
的 NSString
类型的属性
测试.h
@interface Test : NSObject
@property (nonatomic, readonly) NSString *testProperty;
@end
我在这个属性的实现中定义了一个 getter 方法:
测试.m
#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"
}
}
然后我收到一个错误:
"Invalid redeclaration of testProperty()"
最佳答案
例子
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"
关于objective-c - 我可以像在 Objective-C 中那样为 Swift 类的属性定义方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38361352/