我会尽力解释:
我目前正在关注两个课程。数据库类和视图控制器,目前所有内容都设置如下:
View.h - 具有“Database * myDatabase;”
View.m - 在ViewLoad中调用“OpenDB”并使用按钮方法:[myDatabase getRow];点击时。
Database.h - 有“sqlite3 db;”
Database.m - 具有“getRow”方法和“openDB”,它使用Database.h中声明的“db”。
这在构建期间不会导致错误,但是当我的程序运行时,当我单击我的按钮[myDatabase getRow]时;什么也没做。我在方法内部使用了NSLog,它永远不会被调用。如果它很难理解,我会发布代码片段,但我认为它的代码太多了。
答案 0 :(得分:3)
通常当你没有看到你期望看到的消息,并且它的情况完全令人困惑时,这是因为消息的接收者是零。
在viewDidLoad中放置一个断点,并确保myDatabase实际上已为其分配了值。
gdb中的“po myDatabase”...
如果实际上myDatabase实际上是非零的,那么第二个悲伤的来源是试图弄清楚为什么某些事情没有按照你期望的方式发生,就是缺少XIB中的连接。
确保按钮的操作已连接到控制器,或者如果您以编程方式设置按钮的操作,请确保控制器的按钮插座已接线。
答案 1 :(得分:0)
您应该创建Database类的对象并使用这些对象访问方法。 另一种解决方法是将这些方法更改为静态方法。