Xcode 内存警告 - 无法加载任何 Objective-C 类信息
Posted
技术标签:
【中文标题】Xcode 内存警告 - 无法加载任何 Objective-C 类信息【英文标题】:Xcode memory warning - could not load any Objective-C class information 【发布时间】:2015-11-11 19:32:25 【问题描述】:在使用 Facebook 和 Parse 登录用户时,我只在旧 iPhone4s 上收到此错误。当我在模拟器上运行它时,这个错误永远不会发生。
当它发生时,应用程序只占用了 21.2MB 的内存,这只是我测试 4s 可用内存的 4.2%。
我不太确定从哪里开始修复这个错误。老实说完全迷失了。
2015-11-12 08:09:27.647 APPNAME[3883:426582] 收到内存警告。 警告:无法加载任何 Objective-C 类信息。这将显着降低可用类型信息的质量。 (lldb)
关于这个问题的一些更新,如果你仍然认为它是重复的,我会删除它。虽然您作为副本提出的问题实际上并不能帮助我解决问题。
我可以通过减少同时发生的查询数量并使用 Parse 来部分消除错误。为了首次启动该应用并注册一个新用户,我需要:
用脸书登录 查询 facebook 图表数据 将 facebook 图表数据添加到 Parse 用户 创建信誉表并关联 启动主屏幕 查询信誉 查询条款和条件 查询教程状态通过删除最后两个,我可以在应用使用的最初几秒内让警告消失。然后我在让应用程序在没有交互的情况下运行 10 分钟后收到警告/错误。
这让我想,如果您在后台同时发生许多查询,会导致这种类型的内存警告吗?或者这纯粹是 Xcode 上的一个错误,正如另一个问题所暗示的那样?
【问题讨论】:
'Communications error: <OS_xpc_error:' while recording video的可能重复 标题是骗人的,但问题讨论的是同样的问题。 我在问题中添加了一些额外的信息。如果您仍然认为它是重复的,请告诉我。 【参考方案1】:我在构建我的 Cocoa(OS X) 应用程序时遇到了这个警告。但显然它也会发生在 ios 应用上。
warning: could not load any Objective-C class information. This will significantly reduce the quality of type information available
有了这个警告,Xcode 7.3.1 将我带到了 3rd 方库 -SwifyJSON 中的代码行。 但我知道这与 3rd 方库根本无关,因为在警告发生之前它一直运行良好。
我有 MainViewController 和 TabViewController,它有几个自定义视图(当然还有控制器)
在设置我的第二个自定义类的实例以便在它们之间传递数据后,我立即遇到了警告。
在 MainVC 中,我的代码是
private var firstTabVC = FirstTabVC
var jsonInfo:JsonInfoClass = JsonInfoClass
private var secondTabVC = SecondTabVC // waring had occured after this was added
仅当“jsonInfo”实例行位于“secondTabVC”实例行正上方时,Xcode 才将我带到第 3 方库。 (JsonInfoClass 是使用第三方库处理 JSON 数据的自定义类)
我将有问题的代码行移到了“firstTabVC”行的下方。然后 Xcode 停下来抱怨“加载 Objective-C 类”的事情。我只在“firstTabVC”行收到“EXC_BAD_ACCESS”错误。这就是我开始不相信 Xcode 所说的话的地方。
所以,我去了 SecondTabVC 自定义类,我看到我声明了 MainVC.swft 的实例(我不知道为什么我会这样做)像:
var mainVC:MainViewController = MainViewController()
在其中设置 'self'(MainVC) 以便我可以从 MainVC 传递数据,例如:
override func prepareForSegue(segue: NSStoryboardSegue, sender: AnyObject?)
.
..
secondTabVC.mainVC = self
....
在我将 SecondTabVC.swif 中的声明更改为
之后 var mainVC: MainViewController!
警告消失了,工作正常。我希望这对某人有所帮助。
【讨论】:
【参考方案2】:这个错误今天早上发生在我身上,在我遇到的错误消息之后:“警告:无法加载任何 Objective-C 类信息。这将显着降低可用类型信息的质量。”
但我的情况可能与你的不同。我创建了一个名为“ILViewController”的类,它继承自“UIViewController”并且没有直接拥有属性“view”。当我访问“ILViewController.view”(实际上“ILViewController”没有属性“view”但“UIViewController”有)时,发生了这个错误。所以我的建议是您应该检查您的自定义类是否不拥有某些属性,但您仍然可以访问它们!祝你好运!
【讨论】:
以上是关于Xcode 内存警告 - 无法加载任何 Objective-C 类信息的主要内容,如果未能解决你的问题,请参考以下文章
无法从 nib 实例化 UIView。 “警告:无法加载任何 Objective-C 类信息”
Swift 2.0 错误:警告:无法加载任何 Objective-C 类信息