gpt4 book ai didi

ios - 使 swift 类符合定义属性的 objective c 协议(protocol)

转载 作者:搜寻专家 更新时间:2023-10-30 22:09:56 26 4
gpt4 key购买 nike

我无法使 swift 类符合 objective c 协议(protocol)。在 objective c 协议(protocol)中很容易实现方法,但我无法在以下协议(protocol)中实现属性。

协议(protocol)是

@protocol ATLParticipant <NSObject>
@property (nonatomic, readonly) NSString *firstName;
@property (nonatomic, readonly) NSString *lastName;
@property (nonatomic, readonly) NSString *fullName;
@property (nonatomic, readonly) NSString *participantIdentifier;
@end

我已经制作了这个应该符合它的 swift 类,但 Xcode 说它不符合。

class ConversationParticipant: NSObject, ATLParticipant {
var firstName: NSString?
var lastName: NSString?
var fullName: NSString?
var participantIdentifier: NSString?

override init() {
super.init()
}
}

我试过使成员变量成为可选的(如上所述)、解包并加上 private(set) 前缀以使它们只读,但这些变体都不起作用。

最佳答案

找到解决方案,在Swift中你不应该使用NSString,而应该使用String类型。

class ConversationParticipant: NSObject, ATLParticipant {

var firstName: String!
var lastName: String!
var fullName: String!
var participantIdentifier: String!
var avatarImage: UIImage!

override init() {
super.init()
}
}

关于ios - 使 swift 类符合定义属性的 objective c 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29364181/

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