【问题标题】:What are UILabel's initWithCoder encoded keys?UILabel 的 initWithCoder 编码键是什么?
【发布时间】:2009-10-04 16:42:21
【问题描述】:
我有一个 UILabel 的子类,它重载了 initWithCoder,我想知道是否有人有任何关于编码器如何编码的文档,以便我可以自己获取来自 IB 的信息。
谢谢。
编辑
这样做的原因:我想要在 xib 文件中给出的字体名称。如果它是自定义字体,Apple 的 initWithCoder 实现会忽略文件中给出的字体名称,并且当您访问标签的字体时,它会返回系统字体。因此,我想在原始 initWithCoder 忽略它之前捕获字体名称。
【问题讨论】:
标签:
iphone
objective-c
cocoa-touch
uilabel
【解决方案1】:
查看文档,似乎没有办法检索NSKeyedArchiver 中使用的所有密钥。 “解决”这个问题的一种方法是将您的自定义 UILabel 存档到 NSData 对象,将数据对象写入文件,然后在文本编辑器中将其弹出打开,看看您是否可以通过这种方式找到一些键。
您需要从 UILabel 中获得哪些您无法通过其正常访问器访问的信息?
【解决方案2】:
如果您查看从 xib 文件编译的 nib 文件以获取您想要解码的接口,您将能够找出一些您可以使用的键。找东西有点难,但总比没有好。