gpt4 book ai didi

objective-c - 我可以像在 Objective-C 中那样为 Swift 类的属性定义方法吗?

转载 作者:可可西里 更新时间:2023-11-01 02:16:13 24 4
gpt4 key购买 nike

是否可以为 Swift 类的属性定义方法

例如,我在 Objective-C 中有一个名为 Test 的类,这个类有一个名为 testPropertyNSString 类型的属性

测试.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()"

最佳答案

这些被称为计算属性 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"

关于objective-c - 我可以像在 Objective-C 中那样为 Swift 类的属性定义方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38361352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com