ios - MakeSchool MakeNotes swift 教程 |创建全局变量

标签 ios xcode swift

我对 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/

相关文章:

SwiftUI 绑定(bind) bool 外部 View - 'Accessing State' s 值不在 View 上安装'

ios - 网址(字符串:) gives nil error even if the String is not nil in Swift

ios - 体系结构 x86_64 : for Firebase in Xcode 8. 3.2 的 undefined symbol

xcode - Swift 事件指示器和标签

macos - 在 SpriteKit 中使用 NSButton

swift - 根据条件选择segue

ios - 如何在iOS模拟器中模拟截屏?

ios - 如何在不继承的情况下访问另一个类的属性

ios - 显示多个本地通知而不创建新通知

ios - 如何将容器应用程序附加到操作扩展调试线程?