Sunday 15 October 2017

Edgesforextendedlayout Scrollviewdidscroll


Ich scheinen einige übereifrige haben die Freigabe in meinem obj-C app geht - Fehlermeldung bekommen - myobj Mitteilung: Mitteilung an deallokierten Instanz gesendet 0x5633b0 ich die Klasse der Objektinstanz verursacht das Problem kennen, aber diese Klasse ist überall zum Erstellen Viele Fälle. Mein Gedanke ist, ich könnte einige Logging in der init-Methode der Klasse zu protokollieren, was 0x5633b0 entspricht, die mir helfen, aufzuspüren, wo die Instanz erstellt wird. Was genau ist die 0x5633b0 und es gibt eine Möglichkeit, ich kann den Zugriff auf diesen Wert im Code, um es zu Protokollieren Was funktionierte am besten für mich, wenn ich in ähnliche Probleme vor kurzem war die folgende: In der Projekt-Edit Active Executable - Argumente Registerkarte - Umgebungsvariablen Abschnitt hinzugefügt und auf JA die folgenden Variablen: NSAutoreleaseFreedObjectCheckEnabled. NSZombieEnabled und NSDebugEnabled. Im Menü Ausführen wählte ich Enable Guard Malloc. Mit diesen Einstellungen der Debugger mehr Hinweise darauf, was ist falsch mit meinem Code. (Ich fand diese Tipps hier) beantwortet 4. März 10 um 9:11 aktivieren Schutz Malloc doesn39t Arbeit, wenn sie auf einem Gerät debuggen, zumindest habe ich can39t und diesen Beitrag bestätigen es: discussions. apple/thread/1572993start0amptstart0 ndash JeroenEijkhof 21 11. August bei 5 : 23 JeroenEijkhof hat Recht. Schützen Sie malloc don39t Arbeit im Gerät. Und sie können in der 39diagnostice39 Registerkarte aktiviert werden, keine Notwendigkeit, in env var setzen. Aber NSAutoreleaseFreedObjectCheckEnabled muss als env var festgelegt werden. Ndash karim Oct 3 14 um 8:00 0x5633b0 ist wahrscheinlich die Adresse des freigegebenen Objekts (der Wert von myobj). Sie können NSLog oder printf mit p, um es zu drucken. Sie können auch das Instrument-Profiler verwenden, um das freigelegte Objekt zu finden. 1. Starten Sie den Profiler: 2. Wählen Sie die Zombies und starten Sie den Profiler. 3. Klicken Sie durch den Simulator, bis Sie Ihren deallocated Störungsfall schlagen Sie verhalten nicht Ihren Gedächtnis richtig - youre, das Freigabe / autorelease auf irgendeinem Gegenstand mehr Male benennt, als youre, das behalten zurückruft. Stellen Sie sicher, dass Sie alle Regeln, die in der Memory Management Programming Guide für Kakao. 0x5633b0 ist nur die Adresse der Speicherstelle, an der das Objekt gespeichert wird. Eine Sache, die Sie ausprobieren können, ist, der init-Methode einen Code hinzuzufügen: Wenn Sie andere init-Methoden (zB initWithCoder, die für Objekte, die von einem XIB instanziiert werden) aufgerufen haben, sollten Sie dieses Snippet auch in diese Methoden einfügen . Setzen Sie einen Haltepunkt auf der NSLog-Zeile, und dann sehen, wann es getroffen wird. Beachten Sie, dass es mehrmals getroffen werden, wenn ein Objekt an dieser Adresse zugewiesen wird, deallocated, und dann ein anderes Objekt geschieht, um an der gleichen Adresse neu zugeordnet werden. Der letzte Treffer vor dem Absturz ist der, den Sie wollen. Beantwortet Mar 2 09 at 2:24 Woher weißt du, die symbol39s Adresse im Voraus Isn39t es jedes Mal, wenn Sie den Code ausführen. Wenigstens habe ich das bemerkt. Mit etwas wie quotinfo Symbol 0xabcdfgquot in der Debugger-Konsole gab mir bessere Ergebnisse als Ihre probosal. ndash Leviathan 18. Januar 11 um 10:15 Uhr Ihre Antwort 2016 Stapel Wechsel, IncLearn iPhone-Anwendung ltkeygtNSAppTransportSecuritylt / keygt ltdictgt ltkeygtNSExceptionDomainslt / keygt ltdictgt ltkeygttest. testdomainlt / keygt ltdictgt ltkeygtNSIncludesSubdomainslt / keygt lttrue / gt ltkeygtNSTemporaryExceptionRequiresForwardSecrecylt / keygt ltfalse / gt lt / dictgt NSString strURL google NSURL URL NSURL URLWithString: NSString string :, strURL stringByAddingPercentEncodingWithAllowedCharacters: NSCharacterSet URLQueryAllowedCharacterSet NSURLRequest Anfrage NSURLRequest requestWithURL: URL NSURLSession Sitzung NSURLSession sharedSession NSURLSessionDataTask Aufgabe Sitzung dataTaskWithRequest: Anfrage completionHandler: (NSData Daten, NSURLResponse Antwort, NSError Fehler) dict NSJSONSerialization JSONObjectWithData: Daten keyArray dict objectForKey : Videos NSLog (Antwort:, Rezepte) tblvw reload Import ltFBSDKLoginKit / FBSDKLoginKit. hgt Import ltFBSDKCoreKit / FBSDKCoreKit. hgt - (BOOL) Anwendung: (UIApplication) Anwendung openURL: (NSURL) url sourceApplication: (NSString) sourceApplication Anmerkung: (id) Anmerkung Rückkehr FBSDKApplicationDelegate sharedInstance Anwendung: Anwendung openURL: url sourceApplication: sourceApplication Anmerkung: Anmerkung - (void) applicationDidBecomeActive: (UIApplication) Anwendung FBSDKAppEvents activateApp - (BOOL) Anwendung: (UIApplication) Anwendung didFinishLaunchingWithOptions: (NSDictionary) launchOptions Rückkehr FBSDKApplicationDelegate sharedInstance Anwendung: Anwendung didFinishLaunchingWithOptions: launchOptions - (IBAction) facebookLogin: (id) sender FBSDKLoginManager alloc init FBSDKLoginManager anmelden if (FBSDKAccessToken currentAccessToken) NSLog (Token zur Verfügung steht. , FBSDKAccessToken currentAccessTokentokenString) Selbst fetchUserInfo sonst Login logInWithReadPermissions: E-Mail fromViewController: self-Handler: (FBSDKLoginManagerLoginResult Ergebnis NSError Fehler), wenn (Fehler) NSLog (Anmelden Prozessfehler) else if (result. isCancelled) NSLog (Benutzer abgebrochen Login) sonst NSLog (Anmelden Success) if (result. grantedPermissions containsObject: E-Mail) NSLog (Ergebnis:, Ergebnis) Selbst fetchUserInfo sonst SVProgressHUD showErrorWithStatus. Facebook E-Mail-Berechtigungsfehler - (void) fetchUserInfo if (FBSDKAccessToken currentAccessToken) NSLog (Token verfügbar ist, FBSDKGraphRequest alloc initWithGraphPath: (FBSDKGraphRequestConnection Verbindung, id Ergebnis NSError Fehler), wenn (Fehler) NSLog (Resultate:, Ergebnis) NSString E-Mail Ergebnis objectForKey: E-Mail NSString userId Ergebnis objectForKey: idLeft Ansicht Überschneidungen mit Statusleiste in ios7 beta 6 435 ich habe etwas ähnliches, obwohl zu Dschee Leider konnte nicht bekommen, es zu arbeiten, wie der Inhalt immer noch unter der Statusleiste scrollt. Irgendwann, nach ein wenig Fummeln, ich habe es funktioniert, indem stattdessen bewegt meine Tabelle Ansicht 20 Pixel, die in Ordnung war, obwohl das Problem nun den Status ist Bar sieht ein wenig seltsam, da es zwischen der neuen kombiniert 64px navbar aufgeteilt ist. Meine Lösung war, wenn die app zeigt die zentrale Steuerung, zeigen die volle 64px navbar (so nur das Standardverhalten). Aber wenn die Seitenleiste angezeigt wird (und unter Verwendung des viewDeckController: didOpenViewSide: animated: Rückruf), stellen Sie die Statusleiste Hintergrund zu einer dunkleren Farbe, so sieht es aus wie ein 20px Statusleiste ist und ein 44px navbar (wie unten). Ich tat dies mit ein wenig Hackery, indem Sie eine 20px hohe Ansicht, und fügen Sie es als Unteransicht von UIApplication sharedApplication. window an Position (0, 0), die unter dem Statusleiste Text geht. Youll Hinweis in der neuen Facebook-App, wenn Sie das rechte Menü öffnen, macht es die gleiche Sache, obwohl sie einen Schritt weiter gehen, wenn Sie langsam ziehen Sie das Seitenmenü, die Deckkraft der Statusleisten Hintergrundfarbe langsam ändert, bis es ist Voll schwarz. Ich bin nicht sicher, wie diese umgesetzt werden würde, vielleicht ein Rückruf wie ein scrollViewDidScroll: mit Ausnahme eines viewDeckDidScroll :, oder vielleicht sollte es nur in die Bibliothek gebaut werden Oh, was weißt du, kurz nachdem ich meine letzte Nachricht geschrieben fand ich, dass Rückruf, Was ViewDeckController ist: didChangeOffset: orientation: panning. So meine Sidebar funktioniert jetzt als Id wie es zu :) jklp Kannst du den Code auf, wie Sie die Subview bei (0,0) Ich kann nicht scheinen, um es anzuzeigen. Hallo, Ich habe gerade den folgenden Code, der schien, adaequat zu sein scheinen: Obwohl, wenn ich es früher am Morgen auf ein anderes Projekt (das mit Storyboards), bemerkte ich, dass die UIView oben erstellt würde unterhalb der Navigationsleiste (dies war mit revealapp / Die Sichthierarchie zu prüfen). Da ich am Stichtag hatte ich keine Chance, weiter zu untersuchen, obwohl Ihr Tachy kann variieren. Sie können diese Aktion nicht zu diesem Zeitpunkt durchführen. Sie haben sich mit einem anderen Tab oder Fenster angemeldet. Aktualisieren Sie Ihre Sitzung neu. Sie haben sich in einem anderen Tab oder Fenster angemeldet. Aktualisieren Sie Ihre Sitzung neu.

No comments:

Post a Comment