Suchergebnisse

Suchergebnisse 1-20 von insgesamt 180.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Garbage Collector

    dergraf - - macOS, OS X, Mac OS, Darwin

    Beitrag

    Das musst du nicht explizit auf nil setzen. Wenn der Scope verlassen wird ist die Referenz auch weg und der Kollektor kann das Objekt entfernen. Aber das steht auch alles im Garbage Collection Programming Guide.

  • IBOutlet @property

    dergraf - - macOS, OS X, Mac OS, Darwin

    Beitrag

    Wenn man das nicht tut geht auch nichts schief. Wohin man nun das 'IBOutlet' schreibt macht keinen Unterschied, der Compiler ignoriert das sowieso. Das ist einzig dafür da, dem Interface Builder mitzuteilen, welche Outlets verfügbar sind. Beim Laden des NIBs werden die dann über KVC gesetzt, was automatisch den entsprechenden Setter (der z.B. auch synthetisiert sein kann) verwendet. Und wenn es keinen Setter gibt greift KVC direkt auf die Ivars zu. Bei Assign-Properties macht das keinen Untersch…

  • Toolbar wie in Mail

    dergraf - - macOS, OS X, Mac OS, Darwin

    Beitrag

    Das dürfte gar nicht so schwer sein, und auch ohne private APIs funktionieren. Probiert habe ich das aber (bis jetzt noch) nicht. Einfach beim verschieben der Split-View die Größe eines Separator-Items anpassen, schließlich hat NSToolbarItem ja extra die Methoden setMinSize: und setMaxSize:. Und wenn der Benutzer diesen Separator aus der Toolbar entfernt ist natürlich auch das entsprechende Verhalten weg, was die beiden unterschiedlichen Videos erklärt.

  • Zitat von Tobse001: „ Wenn du ein Element hast das nicht gescrollt werden soll, Warum legst du es dann mit in die Scrollview? “ Das hätte ich wohl noch erwähnen sollen. Unter umständen ist es größer als der sichtbare Bereich der ScrollView und muss dann natürlich mit gescrollt werden.

  • Ich habe eine View in einer NSScrollView. Darüber möchte ich nun eine weitere View als Overlay einblenden, und zwar so dass sie immer im gerade sichtbaren Bereich zentriert ist. Dafür habe ich mir die NSViewBoundsDidChange-Notification der Clip-View beobachtet und zentriere dort mein Overlay neu. Allerdings gibt es dabei dann Probleme beim Zeichnen - der Rand der Overlay-View wird abgeschnitten. Irgend welche Ideen, wie man das lösen kann?

  • Für Modell-Objekte reicht doch meistens die isEqual-Implementierung von NSObject aus, die einfach nur die Zeiger vergleicht. Wieso sollte man ein und die selbe Person durch zwei verschiedene Objekte (an zwei verschiedenen Adressen) repräsentieren wollen? Und in anderen Fällen kann es ja vorkommen, das sich zwei Objekte in allen Eigenschaften identisch sind, aber trotzdem unterschiedlich sind.

  • [Codeschnipsel] MatheParser

    dergraf - - Campus

    Beitrag

    So, ich habe mal meinen Mathe-Parser und Compiler (mit LLVM) in ein eigenes Framework-Projekt bewegt und auch auf Github veröffentlicht: github.com/dergraf83/Calculon

  • [Codeschnipsel] MatheParser

    dergraf - - Campus

    Beitrag

    @Zerm: Das funktioniert gut mit LLVM, so etwas habe ich auch schon mal gemacht. Lohnt sich aber nur, wenn du eine Funktion sehr oft berechnen willst, z.B. für numerische Integration oder so etwas. Wenn du einen Ausdruck nur ein mal berechnen willst ist so ein Ansatz wie dieser hier schneller. Wenn ich den Benutzer statt Zahlen auch einfache Ausdrücke eingeben lassen möchte macht es sicher keinen Sinn dafür LLVM mit einzubinden.

  • [Codeschnipsel] MatheParser

    dergraf - - Campus

    Beitrag

    Scheint zu funktionieren, ist sicher auch praktisch, aber der Code ist nicht so das wahre. Damit das wirklich verwendbar wird muss noch einiges getan werden. Der Code ließe sich sicherlich deutlich vereinfachen, wenn man einige vorhandene Sprachmittel auch nutzen würde (z.B. switch/case, enums, @property/@synthesize, union, ...). Ansonsten ist aber wohl das größte Manko der Unterschied zwischen den Makros und Funktionen, die sollten auf jeden Fall vereinheitlicht werden. Wenn du nichts dagegen h…

  • Zitat von zerm: „Doch. In C gibt es keine Mehrdimensionalen Arrays. arr[x][y] ist in Wirklichkeit (arr[x])[y], also das y-te Element in dem Array, was unter arr[x] gespeichert ist. Du hast also ein Array von Arrays. “ Na und? Wo genau ist der unterschied, ob du ein mehrdimensionales Array oder ein Array von Arrays hast?Zitat von zerm: „Böse, weil viele das nicht wissen. Böse, weil Du zusätzlichen Speicherbedarf hast. Böse, weil die Initialisierung eben nicht wie von Dir beschrieben funktioniert.…

  • Die Spalte zu erzeugen und das binding zu setzen ist nicht schwierig. Bei mir sieht das so aus: Dabei ist rowsController ein ganz gewöhnlicher Array-Controller. Quellcode (15 Zeilen) Damit das ganze funktioniert ist der Array-Controller nicht an das eigentliche Content-Array gebunden sondern an ein anderes Array das Objekte der Klasse RowProxy enthält. Diese verweist auf das eigentliche Content-Array und hat den Index einer Zeile. In den Methoden valueForKey: und setValue:forKey: wird dann das …

  • View "Filmen"

    dergraf - - macOS, OS X, Mac OS, Darwin

    Beitrag

    Eigentlich war das hier doch alles nur geraten. Hast du schon mal mit dem Time Profiler aus Instruments geschaut, welcher Teil von dem Code wirklich der langsame ist?

  • Versuch mal [view bounds] anstelle von [view frame] beim erstellen des PDF-Views. Wie mika schon gesagt hat, muss das Frame-Rect im Koordinatensystem des Superviews angegeben werden.

  • View "Filmen"

    dergraf - - macOS, OS X, Mac OS, Darwin

    Beitrag

    Da ist aber jemand ungeduldig... Ich würde versuchen das mit NSOperationQueue zu lösen. Anstelle die Bilder direkt an den Film anzuhängen erstellst du eine NSOperation die das macht und hängst die an die Queue. Dieser musst du vorher natürlich sagen, dass immer nur eine Operation auf einmal abgearbeitet werden darf.

  • Versuch das mal so: Quellcode (6 Zeilen)

  • Zitat von zerm: „Clang mag ja in vielen Dingen besser sein, aber das er "besseren" Code generiert höre ich zum ersten Mal. Kannst Du das weiter erläutern? “ Ich finde jetzt leider keine andere Quelle, aber in der "Developer Tools State of the Union"-Session der letzten WWDC wurden einige Benchmarks von verschiedenen Programmen gezeigt, die mit Clang kompiliert zum Teil deutlich schneller waren. Kann aber sein, dass es dabei auch nur um Clang 2.0 ging und die erste Version tatsächlich schlechter …

  • So ein Dokument ist mir nicht bekannt. Ist aber auch nicht unbedingt sinnvoll. Für verschiedene Fehlermeldungen vom GCC gibt es so viele Möglichkeiten was sie verursacht haben kann, dass das auch nicht weiter helfen würde. Wenn du die Möglichkeit hast würde ich den Compiler auf Clang umstellen, der produziert sehr viel bessere Fehlermeldungen. (Außerdem ist er schneller und generiert besseren Code als der GCC)

  • Nicht unbedingt, auch nicht in einem einzelnem Thread. Kommt halt drauf an, was man unter einer Anweisung versteht. Wenn du damit Code-Zeilen in Objective-C meinst wohl eher nicht. Der Compiler kann unter gewissen Umständen beim optimieren die Reihenfolge von Anweisungen im generiertem Code ändern. Und auch die CPU führt Anweisungen nicht unbedingt in der Reihenfolge aus, wie sie im Programmcode angegeben sind. In den meisten Fällen bekommt man davon aber nichts mit, denn Schließlich darf sich t…

  • Das Problem liegt sicher irgendwo in der Klasse StyleXML, ohne zu wissen was die macht kann man höchstens raten. Ich könnte mir vorstellen, dass irgend etwas in deiner StyleXML-Klasse autoreleased wird und somit später nicht mehr zur Verfügung steht. Was sagt denn der Debugger, wo es abstürzt? Und lass es mal mit NSZombieEnabled laufen.

  • Zitat von Amin Negm-Awad: „Ich hatte bereits ganz am Anfang gesagt, dass man es so bauen soll, wie es der Sache nach ist. “ Natürlich, ich habe auch nicht vor irgend welchen Code zu bauen, nur weil es geht. Und natürlich baue ich es so, wie es der Sache nach ist, um das mal so auszudrücken. Das schließt aber trotzdem nicht aus, dass es mehrere äquivalente Möglichkeiten gibt. Die beiden, die mir eingefallen sind habe ich schon ganz am Anfang geschrieben, und später wurden noch einige andere genan…