Xcode-Speicherwarnung - konnte keine Objective-C-Klasseninformationen laden

8

Ich habe diesen Fehler nur auf einem alten iPhone4s bekommen, während ich den Benutzer mit Facebook und Parse angemeldet habe. Wenn ich es auf dem Simulator laufe, geschieht dieser Fehler nie.

Wenn es passiert, hat die App nur 21,2 MB aus dem Speicher genommen, das ist nur 4,2% des verfügbaren Speicherplatzes auf meinem Test 4s.

Ich bin mir nicht sicher, wo ich anfangen soll, um diesen Fehler zu beheben. Völlig verloren, um ehrlich zu sein.

2015-11-12 08: 09: 27.647 APPNAME [3883: 426582] Speicherwarnung empfangen. Warnung: konnte keine Objective-C-Klasseninformationen laden. Dies wird die Qualität der verfügbaren Typinformationen erheblich reduzieren. (lldb)

Einige Updates zu der Frage, wenn Sie immer noch denken, dass es ein Duplikat ist, werde ich es entfernen. Obwohl die Frage, die Sie als Replikat vorgeschlagen haben, mir nicht wirklich hilft, das Problem zu lösen.

Ich konnte den Fehler teilweise entfernen, indem ich die Anzahl der Abfragen reduzierte, die zur gleichen Zeit abgingen, und Parse verwendete. Die App, um einen ersten Start zu erhalten und einen neuen Benutzer zu registrieren, müsste ich:

  • log mit Facebook
  • Abfrage von Facebook-Diagrammdaten
  • Fügen Sie facebook-Diagrammdaten zu Parse user
  • hinzu
  • Erstellen Sie eine Reputationstabelle und beziehen Sie
  • Hauptbildschirm starten
  • Abfragereputation
  • Abfragebedingungen
  • Abfrage-Lernprogrammstatus

Wenn ich die letzten beiden entferne, könnte ich die Warnung erhalten, in den ersten Sekunden der App-Nutzung wegzugehen. Und dann bekomme ich die Warnung / Fehler nach 10 Minuten, in denen die App ohne Interaktion laufen gelassen wurde.

Das lässt mich denken, wenn Sie viele Fragen gleichzeitig im Hintergrund haben, kann dies diese Art von Speicherwarnung verursachen? Oder ist das ein reiner Fehler auf Xcode, wie die andere Frage nahe legt?

    
GuiSoySauce 11.11.2015, 19:32
quelle

2 Antworten

0

Ich habe diese Warnung beim Erstellen meiner Cocoa (OS X) -App gefunden. aber apperant würde es auch mit der iOS App passieren.

%Vor%

Mit dieser Warnung brachte Xcode 7.3.1 mich zu einer Code-Zeile innerhalb der 3rd-Party-Bibliothek -SwifyJSON. Aber ich hatte gewusst, dass dies überhaupt nicht mit der 3rd-Party-Bibliothek zusammenhing, weil es sehr gut funktioniert hatte, bis das Warrnig aufgetreten war.

Ich hatte MainViewController mit TabViewController, der ein paar benutzerdefinierte Ansichten (und natürlich Controller) hatte

Ich habe die Warnung direkt nach dem Setzen der zweiten Instanz meiner zweiten benutzerdefinierten Klasse gefunden, um Daten zwischen ihnen auszutauschen.

In MainVC war mein Code

%Vor%

Xcode brachte mich nur dann zur 3rd-Party-Bibliothek, wenn die 'jsonInfo'-Instanzzeile genau über der' secondTabVC'-Instanzzeile lag. (Die JsonInfoClass ist die benutzerdefinierte Klasse, die JSON-Daten mit der 3rd-Party-Bibliothek behandelt)

Ich habe die problematische Codezeile direkt unter der 'firstTabVC'-Zeile verschoben. und dann stoppte der Xcode, um sich darüber zu beschweren, dass er Objective-C-Klasse-Sachen geladen hatte. Ich habe nur den Fehler "EXC_BAD_ACCESS" in der Zeile "firstTabVC". Dies war der Punkt, an dem ich anfing, nicht zu glauben, was Xcode gesagt hatte.

Also ging ich zur SecondTabVC Custom Class und ich sah, dass ich die Instanz von MainVC.swft deklarierte (ich hatte keine Ahnung, wieso ich das trotzdem mochte) wie:

%Vor%

um 'self' (MainVC) zu setzen, damit ich Daten von MainVC wie folgt weitergeben kann:

%Vor%

nachdem ich die Deklaration in SecondTabVC.swif zu

geändert habe %Vor%

Der Waring war weg und funktionierte gut. Ich hoffe, das hilft jemandem.

    
Kyle KIM 17.07.2016 17:02
quelle
-1

Dieser Fehler ist mir heute Morgen passiert, nachdem ich folgende Fehlermeldung erhalten habe: "Warnung: konnte keine Objective-C-Klasseninformationen laden. Dadurch wird die Qualität der verfügbaren Typinformationen erheblich reduziert."

Aber meine Situation war vielleicht anders bei dir. Ich habe eine Klasse namens "ILViewController" erstellt, die von "UIViewController" geerbt wurde und nicht direkt eine Eigenschaft "view" besaß. Wenn ich auf "ILViewController.view" zugegriffen habe (tatsächlich hatte "ILViewController" keine Eigenschaft "view", aber "UIViewController" tat dies), trat dieser Fehler auf. Also mein Vorschlag ist, dass Sie überprüfen sollten, ob Ihre benutzerdefinierten Klassen nicht einige Eigenschaften besaßen, aber Sie trotzdem darauf zugegriffen haben! Viel Glück!

    
CoderLeonidas 24.03.2016 05:30
quelle