尝试在Xcode中打印对象描述会产生错误
问题描述:
我有一个我们可以调用的Objective-C对象ObjCObj 我实现了一个简单的描述方法,如果我在局部变量中实例化类型,通常可以很好地工作。尝试在Xcode中打印对象描述会产生错误
问题: 我通过ObjCObj对象的数组迭代,并把它们放在一个斯威夫特阵列
let cacheArray = [ObjCObj]()
我的数组填满后,我尝试设置一个断点,尝试打印一个项目的价值我得到以下错误:
expression produced error:
/var/folders/w9/3rvg1bk95379dgvcr11n16_h0000gp/T/lldb/3499/expr878.swift:1:46: error: use of undeclared type '__ObjC'
$__lldb__DumpForDebugger(Swift.UnsafePointer<__ObjC.ObjCObj>(bitPattern: 0x67fd9b0).memory)
如果我尝试打印像一个表达:
cacheArray[2]
它的工作原理。但是,如果我在调试器检查器中打开数组并选择数组的一行并要求打印描述,则失败。
答
我刚才收到同样的错误,并将其追踪到Obj-C Mantle模型类中的一个不良属性属性。 (不正确地处理一个对象作为标量。)
破碎:
@property(nonatomic, assign, readonly, nullable) AdditionalInformationStatus *additionalInformationStatus;
^^^^^^
修正:
@property(nonatomic, copy, readonly, nullable) AdditionalInformationStatus *additionalInformationStatus;
^^^^
这是一个简单的办法,但很难追查。
嗨@Mikael,遇到类似的事情我自己。你有没有找到任何解决方案/解决方法? –
现在,我在我的对象中实现了debugDescription来显示我需要的信息。我也直接访问控制台中的对象属性。 po myarray.count或类似的东西。 – Mikael