我对 MakeSchool swift 教程有疑问。在“新笔记 Controller ”教程中的 MakeNotes 实现过程中,要求创建选定的笔记并给出某种提示。 “您可以在类中添加一个 selectedNote 变量来存储选定的注释吗?提示您需要取消注释第一个注释行,以便可以分配 selectedNote。”
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
//1
//selectedNote = notes[indexPath.row]
// 2
//self.performSegueWithIdentifier("ShowExistingNote", sender: self)
}
我尝试遵循所有步骤,但我的程序在这一行崩溃了。你能帮忙吗?
最佳答案
阿塔利克,
您尚未提供崩溃原因或崩溃日志。所以这是我看到的两种可能性。
可能性1:
您可能没有声明 selectedNote 变量。
解决方案
在取消注释第 1 行之前,在您的 ViewController 中声明一个名为 selectedNote 的属性。您尚未指定要在 Notes 数组中保存的数据类型,因此无法为您提供 selectedNote 变量的完美声明。
喜欢,
var selectedNote : notes_data_type_here!
该语句将为您创建一个名为 selectedNote 的隐式可选变量。我已将其声明为类变量,因为我相信您会在prepareForSegue 中使用它。尽管只是猜测,但您还没有提供足够的代码。
可能性2
您的笔记数组可能为零。在从教程复制时,您可能使用不同的数组作为 tableView 的数据源,并且可能在 didSelectRowAtIndexPath 中访问 nil 数组。
解决方案
检查您的笔记数组是否被用作表格数据源。如果 didSelectRowAtIndexPath 中没有,则使用您用作数据源的数组来访问所选对象。
这应该可以解决您的问题:)
关于ios - MakeSchool MakeNotes swift 教程 |创建全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37316510/