9

在使用 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 上的一个错误,正如另一个问题所暗示的那样?

4

2 回答 2

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!

警告消失了,工作正常。我希望这可以帮助别人。

于 2016-07-17T17:02:11.447 回答
-1

这个错误今天早上发生在我身上,遵循我遇到的错误消息:“警告:无法加载任何 Objective-C 类信息。这将显着降低可用类型信息的质量。”

但我的情况可能和你的不同。我创建了一个名为“ILViewController”的类,它继承自“UIViewController”并且没有直接拥有属性“view”。当我访问“ILViewController.view”(实际上“ILViewController”没有属性“view”但“UIViewController”有)时,发生了这个错误。所以我的建议是您应该检查您的自定义类是否不拥有某些属性,但您仍然可以访问它们!祝你好运!

于 2016-03-24T05:30:43.490 回答