我在我的OSX Swift项目中有一个简单的NSOutlineView设置,它从一个基本的数组提供数据,但是它导致了EXC_BAD_ACCESS崩溃。
启用僵尸后,它崩溃,并显示以下错误:[NSMutableIndexSet retain]: message sent to deallocated instance
救命啊!下面是我的代码:
class SidebarViewController: NSViewController, NSOutlineViewDataSource {
//MARK: Vars
@IBOutlet var sidebar : NSOutlineView?
var data : [String] = ["Assemblies", "Parts", "Customers"]
//MARK: Init
override func viewDidLoad()
{
super.viewDidLoad()
// Do view setup here.
}
//MARK: NSOutlineView Delegate / Datasource
func outlineView(outlineView: NSOutlineView, numberOfChildrenOfItem item: AnyObject?) -> Int
{
return data.count
}
func outlineView(outlineView: NSOutlineView, isItemExpandable item: AnyObject) -> Bool
{
return false
}
func outlineView(outlineView: NSOutlineView, child index: Int, ofItem item: AnyObject?) -> AnyObject
{
return data[index]
}
func outlineView(outlineView: NSOutlineView, objectValueForTableColumn tableColumn: NSTableColumn?, byItem item: AnyObject?) -> AnyObject?
{
return item
}
}发布于 2016-03-11 05:20:05
原来,objectValueForTableColumn方法需要返回一个obj_c对象。所以在我的数组中返回String是不起作用的。我将其更改为NSString,现在它可以工作了。
https://stackoverflow.com/questions/35925116
复制相似问题