gpt4 book ai didi

iOS swift 'Could not find member executeFetchRequest'

转载 作者:可可西里 更新时间:2023-11-01 00:53:56 26 4
gpt4 key购买 nike

在尝试将一些现有的小代码移植到 Swift 时,我遇到了一些问题。我可以在 Objective-C 中执行以下操作

NSMutablArray *myMutableArray = [NSMutableArray array];
myMutablArray = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error].mutableCopy;

然而,在我尝试快速尝试这个时,我得到“找不到成员 executeFetchRequest”

class exampleTableViewController: UITableViewController {

var managedObjectContext: NSManagedObjectContext? = nil
var myMutableArray: NSMutableArray = NSMutablArray()

override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)

var request = NSFetchRequest(entityName: "TestTable")
var error: NSError? = nil

self.myMutableArray = self.managedObjectContext!.executeFetchRequest(request, error: &error)
}
...
}

有人能给我指出正确的方向吗?

非常感谢

编辑:粘贴在 xcode 中的代码。

最佳答案

该错误具有误导性。

完整的意思是“我不知道任何返回可变数组的函数”

Swift 是类型安全的,编译器积极地强制执行这一点。

更改 type你的varNSArray ,这是什么功能executeFetchRequest返回。

class exampleTableViewController: UITableViewController {

var managedObjectContext: NSManagedObjectContext? = nil
var myArray: NSArray? = nil;

override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)

var request = NSFetchRequest(entityName: "TestTable")
var error: NSError? = nil

self.myArray = self.managedObjectContext!.executeFetchRequest(request, error: &error)
}
}

如果你想要一个可变数组,你需要进行显式转换

let results = self.managedObjectContext!.executeFetchRequest(request, error: &error)

myMutableArray = NSMutableArray(array: results);

关于iOS swift 'Could not find member executeFetchRequest',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24078673/

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