【问题标题】:Is there a way to get string array from array of NSManagedObject for specific attributes有没有办法从特定属性的 NSManagedObject 数组中获取字符串数组
【发布时间】:2023-04-07 10:41:01
【问题描述】:
        var resultsOfFetch = [AnyObject]()
        if fetchRequest != nil && (textField.text!.characters.count > 4){
            do{
              let results = try privateMOC.executeFetchRequest(fetchRequest!)
                if results.count > 0{
                    resultsOfFetch = results
                }
            }catch let error as NSError {
                print("Error: \(error) " +
                    "description \(error.description)")
            }
        }

        var itemNamesArray = [String]()
        switch textField{
        case self.stampNameField:
            for result in resultsOfFetch as! [Stamp]{
                itemNamesArray.append(result.itemName)
            }

我正在尝试将所有返回的 fetch 项目的 itemName 保存在 array 中。有一个更好的方法吗?我不想迭代结果数组中的每个项目,然后获取其项目名称,然后将其添加到 itemNamesArray,因为这需要时间并且效率非常低。有更快的方法吗?

【问题讨论】:

  • 你想只获取一个属性itemName吗?

标签: arrays swift for-loop core-data


【解决方案1】:

您可以为此使用map 闭包

itemNamesArray = (resultsOfFetch as! [Stamp]).map {$0.itemName}

【讨论】:

    猜你喜欢
    • 2017-01-23
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 2020-04-09
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多