提问人:Robert Marlan 提问时间:12/27/2022 最后编辑:Robert Marlan 更新时间:12/27/2022 访问量:89
不符合协议
does not conform to protocol
问:
我正在从 Swift 3.0 重新编写此代码。
extension WallPost: PFSubclassing {
static func parseClassName() -> String { return "WallPost" } }
这将生成错误:
类型“WallPost”不符合协议“PFSubclassing” 不可用的类方法“object()”用于满足协议“PFSubclassing”的要求
知道为什么会发生这种情况以及我该如何解决它吗?我想在更新到 Swift 4.0 / 5.0 之前解决这个问题。
代码如下:
import Foundation
final class WallPost: PFObject {
// MARK: - Properties
@NSManaged var image: PFFile
@NSManaged var user: PFUser
@NSManaged var comment: String?
// MARK: - Initializers
init(image: PFFile, user: PFUser, comment: String?) {
super.init()
self.image = image
self.user = user
self.comment = comment
}
// Required otherwise the application crashes
override init() {
super.init()
}
// MARK: - Overridden
override class func query() -> PFQuery<PFObject>? {
let query = PFQuery(className: WallPost.parseClassName())
query.includeKey("user")
query.order(byDescending: "createdAt")
return query
}
}
// MARK: - PFSubclassing
extension WallPost: PFSubclassing {
static func parseClassName() -> String {
return "WallPost"
}
}
答:
0赞
andylee
12/27/2022
#1
我不知道parseplatform是什么,但您必须实现以下方法来满足协议要求。
+objectWithoutDataWithObjectId:
+查询
+queryWithPredicate:
+registerSubclass
评论