swift 4 objc nstableview迁移异常

时间:2017-09-30 10:20:14

标签: swift macos nstableview

刚刚开始在Xcode 9下迁移到Swift 4.到目前为止一切都很好,除了我有一个带有NSTableView的MAC OS应用程序,如果我将objc推理设置为ON,我只能设置行背景颜色。

我在

期间设置行颜色

tableView(_ tableView:NSTableView,didAdd rowView:NSTableRowView,forRow row:Int)

使用Swift 3,在Swift 4中使用objc推理设置,默认情况下默认忽略。

要清楚,我已经使用Xcode 9 + swift 4创建了一个简单的新表视图MAC OS应用程序,并且相同的代码组织按预期工作。所以我猜这是项目迁移发生的事情。

我已经尝试了@objcmembers在应用程序中的所有课程,希望找到问题区域但没有成功。我假设objcmember'我所有的类都等同于设置objc推理构建ON,但似乎没有。

一点调试告诉我,在我的应用程序中对ON进行objC推断时,在推理为默认值的普通新应用程序中,当调用didAdd时,行的背景颜色设置为“NSNamedColorSpace System controlBackgroundColor” “当我为我的应用程序将objc推理设置为Default时,行背景颜色为”nil“。

对我而言,这表明我的didAdd委托函数在不同的时间以某种方式被调用。它似乎看起来,对我来说,在我的应用程序中将推理设置为默认值,我的didAdd委托在一些系统级别等效之前调用(然后覆盖我的行颜色设置),同时进行推理ON首先调用系统函数,然后调用我的代理。

有没有人经历过这样的事情,或者有关于如何尝试追踪我做错的建议?

艾伦。

(发布Xcode 9 / swift 4 - 未使用beta,MAC OS Sierra 10.12.6)

0 个答案:

没有答案