ios - 无法识别的选择器发送到实例,与 View 无关

标签 ios swift

我的 iOS 应用程序遇到了一个恼人的问题。突然,当我启动带有 TableView 的 View Controller 时,出现以下错误:

Unrecognized selector sent to instance

在谷歌上搜索了很多关于这个问题的信息后,似乎它通常与错误连接的 IBOutlet/IBAction 或通常与 UI 相关的东西有关。

但是我可以排除这些原因,因为我删除了所有 IBOutlet 并且问题仍然存在。

经过很长时间,我找到了解决方案,并想以问答的方式分享它,以防其他人在这方面遇到困难。

最佳答案

问题出在这行代码:

outletCommentShowMore.attributedText = NSAttributedString(
   string: isExpanded ? "show less" : "show more", 
   attributes: [
       NSAttributedStringKey.foregroundColor : Theme.primaryTextColor,
       NSAttributedStringKey.underlineStyle : NSUnderlineStyle.styleSingle
   ]
)

错误是我将枚举(NSUnderline.styleSingle)直接传递到 NSAttributedString 的属性字典中。但它必须是枚举的 rawValue!
因此,将其更改为 NSUnderline.styleSingle.rawValue 后,我的错误消失了

希望这对某人有帮助

关于ios - 无法识别的选择器发送到实例,与 View 无关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48281370/

相关文章:

swift - 如何将 UnsafeMutablePointer<Double> 数组转换为 Double 数组?

ios - 当父 View 将 alpha 设置为半透明时,如何强制 View 中的元素不透明

python - 使用不带 PIL 的 Python 以 EXIF 中指定的方向旋转图像,包括缩略图

php - iOS 没有打开我的 https ://website SSL Certificates

ios - 无法获取 "if"语句和 UIAlert 的正确方法

swift - 无法使用类型为 'perform' 的参数列表调用 '(_)'

ios - 当点击滚动到顶部时,tableView 中的导航栏会给 mi 后退空间

javascript - 无法从 Safari Web Inspector 向 iOS 设备发送控制台命令

ios - 如何使用 bundle 中的数据移动 sqlite3 数据库

ios - iOS 9 阻止与以编程方式创建的 UISearchController 进行交互