从 dictionary.description 中提取信息?

Extract information from dictionary.description?

我有一个基于包含问题和答案组件的结构的测验应用程序。用户可以浏览问题。只需从我的问题结构中选择一个新问题并将其显示在屏幕上即可完成。

我希望用户可以根据需要保存特定问题。 这些已保存的问题将显示在称为已保存视图控制器的不同视图控制器中。

保存 UIAction 会创建当前在屏幕上看到的问题和答案的字典。

保存的 UIAction 然后将当前问题和答案附加到已保存视图控制器中全局结构中的数组。这是通过访问 dictionary.description.

save UIAction 然后使用 NSUserDefaults 将已放入已保存视图控制器数组中的内容保存。

@IBAction func save(sender: AnyObject) {

  //Creating dictionary of current Question and Answer
  let dic = ["Question": Questions[qNumber].question, "Answer": Questions[qNumber].answers]

  //appending the selected question to the likedArray in the saved view controller
  Globals.likedArray.append(dic.description) 

   //saving what has been entered into the likedArray for key "saved array"
   NSUserDefaults.standardUserDefaults().setObject(Globals.likedArray, forKey: "SavedArray")

}

我的问题是,当我在保存的视图控制器中访问保存的问题和答案并将其显示在屏幕上时,它带有额外的括号,而不仅仅是问答文本。

我相信这是因为我将它保存为 dictionary.description。有没有一种方法可以提取信息并将其作为问题和答案的文本?

或者有什么方法可以将信息放入另一个结构中。因为我想要保存多个问题并显示它们的可能性。

听起来你已经得出了正确的结论,你不想存储dic.description。 (描述方法只是为了给你一个简单的方法来打印对象的值或最终用户的值。)

你想要Globals.likedArray.append(dic)

但是,根据 Globals.likedArray 的类型,可能无法按原样编译。如果您创建 [[String:String]] 类型(具有 String 键和值的字典数组),那应该会有所帮助。

我们还可以在此代码中改进其他方面,但让我们先朝着您的最终目标取得一些进展。