gpt4 book ai didi

ios - 如何在 Swift 4 中为 NSFetchedResultsController 编写扩展

转载 作者:IT王子 更新时间:2023-10-29 05:50:08 24 4
gpt4 key购买 nike

我正在尝试为 Swift 4 中的 NSFetchedResultsController 类编写一个简单的扩展。

这是我的第一次尝试 - 在 Swift 3 中有效:

public extension NSFetchedResultsController
{
public func sectionCount() -> Int
{
if self.sections == nil
{
return 0
}

return self.sections!.count
}
}

但是我在使用 Swift 4 的 Xcode 9 beta 2 中遇到了这个编译错误:

Extension of a generic Objective-C class cannot access the class's generic parameters at runtime

我尝试了其他变体,但无济于事。请注意,我可以创建一个扩展绑定(bind)到与 resultType 匹配的特定类型的 NSManagedObject;但这有一个缺点,我需要为与 NSFetchedResultsController 一起使用的每个托管对象类型创建一个扩展。

最新的 Swift 4 文档似乎没有很好地解释这一点。

最佳答案

我想我找到了这个问题的答案。该函数需要对 Objective-C 可用。

@objc 添加到func 应该可以消除编译错误。至少它对我有用!

关于ios - 如何在 Swift 4 中为 NSFetchedResultsController 编写扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44866635/

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