我正在使用 CocoaPods 导入一些东西。现在我正在尝试使用TTTAttributedLabel
,这是一个丰富的子类UILabel
,允许点击 URL 等。
现在,我无法让我的应用程序识别出我的标签实际上是 的实例TTTAttributedLabel
,而不是常规UILabel
的 。
在我的 .xib 中,我将一个常规UILabel
拖到我的视图中,然后像这样编辑标签的类:
它确实为我自动完成了名字,所以我知道它知道这个类。然后,我将连接从 xib 拖到视图的类,如下所示:
它
TTTAttributedLabel
自动将自己指定为 a,因为它识别出它就是这样,否则它会说UILabel
.
由于我use_frameworks!
在我的 中指定podfile
,我必须导入该类,所以在我的视图类的顶部,我有import TTTAttributedLabel
.
现在,当我尝试使用标签时,它会自动完成如下所示:
使用正确的类,
TTTAttributedLabel
. 但是当我这样做时:
print("labBody: ", labBody)
它打印出这个:
labBody: <UILabel: 0x7fa754c86710; frame = (16 459; 42 21); text = 'Label'; opaque = NO; autoresize = RM+BM; userInteractionEnabled = NO; layer = <_UILabelLayer: 0x60000029cf20>>
认为这是一个UILabel。如果我尝试访问任何特定的TTTAttributedLabel
变量或函数,它仍然会为我自动完成它们:
labBody.enabledTextCheckingTypes = NSTextCheckingResult.CheckingType.link.rawValue
但是当在运行时使用这些时,整个应用程序崩溃了,这样说:
-[UILabel setEnabledTextCheckingTypes:]: unrecognized selector sent to instance 0x7fdfc7c59300
我瞎了吗?为什么这不起作用?这是我一直在做的事情。我可能在星期二过得很艰难.. 我已经尝试了所有常规的东西,清理,删除派生数据,重新启动 Xcode,在再次运行之前从设备中删除应用程序..
我什至以前用过TTTAttributedLabel
,我知道它有效。唯一新的是这是我第一次使用use_frameworks!
.. 这会影响 .xib 吗?让它无法知道子类,或者什么..?