• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    F_OFRProgramovani pro OSX (IDE Xcode, Cocoa, Objektive-C, AppleScript)
    Vyvoj aplikaci pro OSX pomoci IDE Xcode s vyuzitim nativniho frameworku Cocoa a jazyku Objektive-C. Pred par dny vyslo SDK pro iPhone, debata o vyvoji pro iPhone vitana! Kazda rada nad zlato!
    rozbalit záhlaví
    NUCLID
    NUCLID --- ---
    MATESISKO: Ne, Library je okno, kde jsou vsechny dostupne GUI tridy. Mam na mysli okno s instancema pro tvuj projekt v interface builderu.

    Kdyz si tam v hierarchii najdes to tableview, bude vnoreny ve scrollview a to zase v nejakym jinym view. Tak si na kazdy klikni a v inspectoru zkontroluj, ze ma ten prvek nastavenej resizing.

    Udelal jsem ti screenshot:
    MATESISKO
    MATESISKO --- ---
    NUCLID: proklikat se mi nedaří. okno s objektama je library? pokud ano, v které záložce bych našel seznam všech objektů v okně? díky
    NUCLID
    NUCLID --- ---
    MATESISKO: Klikej na tableview tak dlouho, dokud se ti v inspektoru neukaze, ze mas vybrane to custom view. Nebo si v okne s objektava vyber hierarchicky zobrazeni, najdi si tam to view a pak mu v inspektoru nastav resizing.
    MATESISKO
    MATESISKO --- ---
    zdravim, začínám s cocoa a hned jsem narazil na menší problém. vytvářím si svůj preference pane, do okna si v interface builderu naházím verticálně rozdělený custom view, do jednoho z oken tohoto view pak table view. mám ale problém s autosizinge. table view se autosizuje tak jak chci, když chýbu se spliterem, ale pokud začnu měnit velikost celého okna, celý custom view automaticky velikosto nemění. čím by to mohlo být?
    QUITE
    QUITE --- ---
    QUITE: vypadá to že je to tak. ale nikde neni ani řádka o použití CoreData v settings screensaveru. Nicméně už jenom fakt že screensaver nemá podporu cokoliv ukládat do Application Support mluví proti mému záměru. ,( Zkusil jsem z dlouhé chvíle i vytvořit základní Core Data app a celou jí po kouskách přeskládat do toho screensaveru a nepomohlo to... Stejně tak jako změny v applicationSupportDirectory.
    QUITE
    QUITE --- ---
    NUCLID: neni zatim moc co fotit...prostě do IB do NSPanelu hodim Core Data Entity, propojim s modelem a ty tlačítka add a remove jsou furt disabled..ať dělam co dělam, nedaří se mi je zaktivovat a nahrát tam nějaký data.. A nepíše to ani chybu ani warning... A google nic..
    NUCLID
    NUCLID --- ---
    QUITE: netusim... mas uz nejakej screenshot?
    NUCLID
    NUCLID --- ---
    MAGE: Premejslim jestli by ten cas v seznamu nerusil - jestli by tam uz nebylo moc textovejch informaci. Proto jsem uvazoval o tom kulatym progress indicatoru. S tim je teda trochu potiz, protoze se musi vykreslovat na offscreen okno a pak renderovat, ale to se da.

    Ikonky ke kanalum dam a uvidime, jak to bude vypadat. Jinak vyhledavani v kanalech uz chodi a je to parada. Case insensitive a automaticky to ignoruje diakritiku, coz je skvely. Tohle bych v Jave psal celej den, tady je to na 2 minuty :)
    MAGE
    MAGE --- ---
    NUCLID: Neznaj 212 ikonek (kdo by koukal na 212 kanalu?), ale znas presne tolik ikonek na kolik TV se divaji. Pro cechy cca 30 stanic. Jinak urcite bych dal ten cas od kdy do kdy uz do toho seznamu.
    QUITE
    QUITE --- ---
    Vypadá to, že ve screensaveru neni možný pracovat s DataModelem. Je to tak? Máte s tim někdo zkušenost?
    NUCLID
    NUCLID --- ---
    MAGE: Kdo zna 212 ikonek? Navic ne vsechny kanaly ikonkou identifikujes. Treba Nova a Nova Cinema maj stejny logo.

    Ikonky tam urcite pridam, s tim pocitam. Mozna zmensim font nazvu tech kanalu, ale urcite tam nazvy necham.
    MAGE
    MAGE --- ---
    NUCLID: proc nazvy? co takhle udelat to pres ikonk matrix 4 ikony na radku? Podle me lidi stejne ty loga znaji a usetris mrte mista.
    NUCLID
    NUCLID --- ---
    QUITE: jo, searchbox je dobrej napad... pisu si. S poradim kanalu taky pocitam. Checkboxy jsou trochu komplikovany, jak jsem se docetl. Nedaji se tak jednoduse bindovat. Ale aspon mam nad cim premyslet :)
    QUITE
    QUITE --- ---
    NUCLID: Použil bych CheckBoxy na tý opačný straně v "settings" a tu přední část bych nechal jak je. Ale do settings bych ještě přidal nějakej "Search". A nebylo by marný pomocí drag and drop měnit pořadí kanálů na tý čelní straně.
    NUCLID
    NUCLID --- ---
    Potreboval bych radu ohledne GUI...
    Mam v ty aplikacce s televiznim programem seznam stanic, ale potrebuju nejak jednoduse a uzivatelsky prijemne vyresit vyber tech kanalu, ktery me zajimaj. Muzu but udelat tlacitka +/- a z komba vzdycky vybrat kanal, nebo kanaly rovnou zobrazit vsechny a vedle nich dat checkboxy. Nebo i jinak. Co by se vam zdalo nejlepsi? Nemuzu nejak najit program, kterej by podobnou vec resil na takhle malym prostoru.

    NUCLID
    NUCLID --- ---
    Tak pro zajemce jsem nasel zajimavej thread o problematice GC. Dost lidi tam pise svoje zkusenosti a celkove mi vyplyva, ze na 10.6 rozhodne stoji za to GC pouzivat.

    http://www.mail-archive.com/cocoa-dev@lists.apple.com/msg38221.html
    QUITE
    QUITE --- ---
    NUCLID: hmm, tak to nevim ,)) Co ten RunLoop? Ale to tak hádam... ,))
    NUCLID
    NUCLID --- ---
    QUITE: To otaceni s tim imho nesouvisi. I kdyz se hned po startu aplikace ukaze ta tabulka (aniz by doslo na Core Animation), spadne to stejne.

    Jinak ten kod je v mym potomkovi NSTabView a vola [self flipWithDuration]. Nacez v kategorii NSTabView si zjistim handle okna [[self window] windowNumber] a to je cely.
    QUITE
    QUITE --- ---
    NUCLID: Takže Core Animation? Pokud ano, pozor na responder. Jakej máš aktivní objekt při tom otáčení?
    NUCLID
    NUCLID --- ---
    QUITE: Stejne pouzivam funkce, ktery by v 10.4 nechodily, ale nerad se smiruju s tim, ze mam problem v memory managementu. Bral jsem to proste jako otazku cti :) Jak se k tomu stavi Apple nebo obecne vyvojari? Kazdej asi dneska pise pro 10.5+, resi se teda jeste pamet na desktopech?

    Stack trace vypada nejak takhle. Posledni muj kod je #18, kde otacim okno a pak uz se jenom zobrazuje uplne obycejny NSTableView bindnuty na NSArrayController. Bindingy jsou OK rekl bych, protoze s GC to chodi jako vino. Ale z tohohle vypisu proste nepoznam, kde je problem.

    #0 0x855e1318 in objc_msgSend_vtable13
    #1 0x88901aca in -[NSConcreteHashTable assign:key:]
    #2 0x8896e5d7 in -[NSConcreteHashTable insertKnownAbsentItem:]
    #3 0x807c4a2f in -[_NSModelObservingTracker _startObservingModelObject:]
    #4 0x80947721 in -[_NSModelObservingTracker startObservingModelObjectAtReferenceIndex:]
    #5 0x809417aa in -[_NSModelObservingTracker setObservingToModelObjectsRange:]
    #6 0x809415c3 in -[NSTableBinder tableView:updateVisibleRowInformation:]
    #7 0x809414f7 in -[_NSBindingAdaptor tableView:updateVisibleRowInformation:]
    #8 0x80849b9b in -[NSTableView drawRect:]
    #9 0x808c812a in -[NSView(NSInternal) _recursive:displayRectIgnoringOpacity:inContext:topView:]
    #10 0x809b287e in -[NSView(NSLayerKitGlue) drawLayer:inContext:]
    #11 0x82c523a0 in tiled_layer_render
    #12 0x82bec308 in CAImageProviderThread
    #13 0x82a5c9e8 in CA::timer_callback
    #14 0x8484fa58 in __CFRunLoopRun
    #15 0x8484dc2f in CFRunLoopRunSpecific
    #16 0x88936a24 in -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
    #17 0x8898248a in -[NSRunLoop(NSRunLoop) runUntilDate:]
    #18 0x00005410 in -[NSTabView(CGSSecrets) flipWithDuration:forwards:] at NSTabView(CGSSecrets).m:31
    #19 0x000054fa in -[PSTabView selectTabViewItem:] at PSTabView.m:20

    QUITE
    QUITE --- ---
    NUCLID: když to chodí s garbage collectorem tak bych to neřešil ,)))) nastav si minimální build na 10.5 a je to ,))))))))) Co je to za Framework a za jakym kódem to spadne?

    Teď řešim IKImageBrowserView. Funguje mi dragndrop tam i zpátky jenom řešim dvě věci který v dokumentaci nemůžu najít:
    1) když mam složku v IKImageBrowserView a na tu poklikam, otevře se mi ve Findru ale já jí potřebuju otevřít v tom IKImageBrowserView...v dokumentaci o tom neni ani ň
    2) přetahovaný objekty se defaultně kopírujou ale já je potřebuju přesouvat a nemůžu najít kde je to popsaný

    Neví někdo? ,)
    Kliknutím sem můžete změnit nastavení reklam