我使用UITableView设置了一个示例应用程序。最初,我通过将我的控制器符合<UITableViewDelegate>
和<UITableViewDataSource>
,在IB中添加了一个tableView并连接了“datasource”&amp; “委托”给文件所有者。这一切都很好。
我一直在尝试为代表创建自己的类。我创建了一个新类并添加了<UITableViewDelegate>
和<UITableViewDataSource>
,但很快发现我无法连接tableView&gt; dataSource / delegate。为了解决这个问题,我在IB中添加了一个“对象”(NSObject)并将其设置为我的新类。然后我将dataSource和委托出口连接到此对象。它有点工作,应用程序运行并显示tableView,但当我尝试滚动表时应用程序崩溃。我可以问一下我是否正确地做到这一点?
加里
答案 0 :(得分:1)
您正在做正确的事情,将您的类的实例放入nib文件中。我一直对NSTableView数据源使用该方法。你的问题是可能,你没有正确地为一个笔尖中的对象初始化数据源/委托ivars。例如,如果在某些init方法中分配了NSArray,则可能无法调用init方法。您需要发布一些代码才能确认这一点。
无论如何,尝试在新类中创建一个名为awakeFromNib的方法,并将初始化放入其中。