SwiftUI CoreData-存储获取请求数据

SwiftUI CoreData-存储获取请求数据,swiftui,Swiftui,我在使用从核心数据实体获取数据时遇到了实际困难。 我所需要做的就是获取数据并在代码中使用。 我的进近技术可能是错误的,因此难度很大。 我希望获得数据并存储到一个数组中 我有一个处理数据的函数,但我所能做的就是在视图中显示结果。 我想将数据存储在一个数组中,我试图清空数组。追加[newElement] 错误:代码为dictionaryWord.append(word.englishName),错误为表达式类型不明确,没有更多上下文 //Game Play struct gamePlay: View

我在使用从核心数据实体获取数据时遇到了实际困难。 我所需要做的就是获取数据并在代码中使用。 我的进近技术可能是错误的,因此难度很大。 我希望获得数据并存储到一个数组中

我有一个处理数据的函数,但我所能做的就是在视图中显示结果。 我想将数据存储在一个数组中,我试图清空数组。追加[newElement] 错误:代码为dictionaryWord.append(word.englishName),错误为表达式类型不明确,没有更多上下文

//Game Play
struct gamePlay: View {

    //Set CoreData environment
    @Environment(\.managedObjectContext) var managedObjectContext
    @FetchRequest(entity: Dictionary.entity(), sortDescriptors: []) var dictionary: FetchedResults<Dictionary>


    //Variables for Game Play
    @State private var dictionaryWord: [String] = []
    @State private var correctAnswer = Int.random(in: 0...2)





    //Function to retrieve records from CoreData
    func processListPicture() -> some View {



    NavigationView {


        VStack {

                List(dictionary,id: \.self) { word in

                            HStack {
                                Text(word.englishName)
                                Image(word.imageName)
                                    .resizable()
                                    .frame(width: 50, height: 50)
                                    .scaledToFit()
                                Text("- Urhobo: \(word.urhoboName)")


                            }


                }//End of ForEach / List
        }


    }.navigationBarTitle(Text("English Word Translator"),displayMode: .inline)


    }//End of Function
//游戏玩法
结构游戏:视图{
//设置CoreData环境
@环境(\.managedObjectContext)变量managedObjectContext
@FetchRequest(实体:Dictionary.entity(),sortDescriptors:[])变量字典:FetchedResults
//游戏中的变量
@国家私有变量字典词:[String]=[]
@国家私有变量correctAnswer=Int.random(in:0…2)
//从CoreData检索记录的函数
func processListPicture()->某些视图{
导航视图{
VStack{
列表(字典,id:\.self){word in
HStack{
文本(word.englishName)
图像(word.imageName)
.可调整大小()
.框架(宽度:50,高度:50)
.scaledofit()
文本(“-Urhobo:\(word.urhoboName)”)
}
}//ForEach/List结束
}
}.navigationBarTitle(文本(“英语单词翻译”),显示模式:。内联)
}//功能结束

如果我理解您的问题,您正在尝试将FetchedResults(称为“dictionary”)转换为数组,其中结果是一个名为dictionary的CoreData实体

要洗牌,可以执行以下操作:

let shuffledDictionaries: [Dictionary] = dictionary.shuffled()
如果要保留原始顺序,请执行以下操作:

let dictionaries: [Dictionary] = dictionary.map { $0 }
或者,如果您需要任何特定订单:

let sortedDictionaries: [Dictionary] = dictionary.sorted(by: { ... })

我刚刚读了更多的书,意识到SwiftUI中的ForEach与我在UIKit中使用它的方式完全不同。如果有人能帮助我尝试将从CoreData Init检索结果的结果投射到一个空数组中,这会有所帮助。我的目标是洗牌数组并为一个小游戏执行随机输出。我正在玩的游戏,在静态数组列表中有一个元素列表。谢谢你能把你的问题格式化得更好一点吗?目前很难知道你的代码中的问题在哪里。很抱歉,我没有让自己更清楚。我会再试一次。我有CoreData中包含的数据。我能够检索数据,但是在列表视图中。我需要将获取请求的结果存储到一个数组中,例如一个空数组。我希望我已经说得更清楚一些。谢谢