First Time Window in Xcode

Hallo,

ik ben bezig met een Xcode programma en wil graag als het programma voor de eerste keer opstrart,
een venster hebben met informatie.

Weet iemand misschien hoe ik dit doe?

Alvast Bedankt!!!

voorkeuren: boolean key. bij het opstarten (NSApp delegate methods, kijk maar) check je dan of deze variabele bestaat in je NSUserDefaults, en zo ja, wat zijn waarde is (in de praktijk altijd zo dat hij al eerder opgestart is, anders zouden de voorkeuren niet bestaan) en dan toon je dat venster, en zet je de waarde op YES...

sim-pel!

Zou je het misschien stap-voor-stap willen uitleggen? Ik snap het nu niet echt helemaal. :|

Iemand anders die het misschien kan uitleggen?

Read teh farking manual.

Uh, wat bedoel je daarmee?

Ooit engels gehad?, dan snap je dat wel..... :roll:

Enkele hints!

Reflex schreef de volgende key woorden:
Kijk maar <-== de meest belangrijkste :slight_smile:
NSApp
NSUserDefaults
boolean

Bij NSApp vind je delegates en notifications.
Kijk maar welke er aangeroepen worden tijdens het opstarten van een applicatie ( even er vanuit gaande dat het een Cocoa app is ).

Maak je keuze en plaats daarin een test methode, welke test of een specifieke userdefault gezet is of niet. B.v een boolean met de naam ‘firstTimeKickOff’. Als hij niet gezet is ( firstTimeKickOff != YES ) laat dan je info window zien. Bij het sluiten van deze window zet dan firstTimeKickOff = YES, wederom d.m.v Userdefault opdrachten.

Onthoud dat bij de eerste keer dat iemand je app opstart er normaal nog geen UserDefault settings aanwezig zijn, zoals eerder beschreven.
Daarom is een test zoals( firstTimeKickOff == NO ) niet betrouwbaar.
Dit is weer op te lossen door heeel erg vroeg in de opstart sequence ( init van b.v je controller ) een default usersetting te maken met ( firstTimeKickOff = NO ) ( wederom kijk maar NSUserDefaults ). Deze komt in het UserDefault geheugen terecht met andere standaard system en cocoa info en zal later naar schijf geschreven worden.

Hope This Helps

R

Behulpzame types hier. Is er niemand die het even uit wil leggen? Voor driekwart van de vragen die hier gesteld worden geldt dat het antwoord in de manual staat, dus dat is geen antwoord.

edit: Bedankt rvamerongen.

De apple docs zijn van de eerste dag zo ingericht dat je moet weten wat je wilt voordat je het kan vinden, kortom beroerd dus. Heb er zelf af en toe nog problemen mee. B.v Quicktime doc's zijn nu weer gecorrigeerd, veel oude info is weg, en deze bracht menig een op het verkeerde spoor.

Echter sommige personen geven wel een richting aan om te helpen.

De belangrijkste punten zijn als je wilt programmeren en iets nodig hebt, Terminologie en leren zoeken.
Helaas schort dit bij menig een, en dat geeft wel eens problemen.

Helaas is het dan jammer dat dan de RTFM direct boven tafel komt, geef dan op zijn minst een document verwijzing of een Class naam, zoals reflex dat deed.

Daar tegen over staat weer dat de OP wel iets zelf mag doen. Na een antwoord, binnen 50 minuten vragen voor een stap voor stap oplossing is nu ook niet bepaald bevorderlijk voor het tonen van eigen initiatief.

Kortom,
Voor de vragers, meer onderzoek, voor tijdens en na je vraag.
Voor de helpers, help met hints en vermijd de RTFM opmerkingen.
Ben je het beu dat iemand passief is, reageer dan toch alleen met echte info.

[quote:da5c43730a="bhaenraets"]Behulpzame types hier. Is er niemand die het even uit wil leggen? Voor driekwart van de vragen die hier gesteld worden geldt dat het antwoord in de manual staat, dus dat is geen antwoord.

edit: Bedankt rvamerongen.[/quote:da5c43730a]Meh, ken de topicstarter. Die komt hier nog eens vragen waar de afstandsbediening van z’n TV ligt zonder zelf eerst eventjes onder de kussens van de bank te kijken. ;).

[img:8e84c71f61]http://img484.imageshack.us/img484/8080/afbeelding1qf8.png[/img:8e84c71f61]

Dus moet ik hier de keys toevoegen?

Het is heel simpel, dit is in feite het enige dat je hoeft te doen (vermits de genoemde variabelen bestaan, natuurlijk)

[code:1:5a20c93a03]

  • (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    NSNumber * hadFirstLaunch;

    if&#40; &#40;hadFirstLaunch = &#91;&#91;NSUserDefaults standardUserDefaults&#93; objectForKey&#58;@&quot;hadFirstLaunch&quot;&#93;&#41; &amp;&amp; !&#91;hadFirstLaunch boolValue&#93; &#41; &#123;
         &#91;&#91;&#91;MYFirstLaunchWindowController alloc&#93; init&#93; showWindow&#58;self&#93;;
         &#91;&#91;NSUserDefaults standardUserDefaults&#93; setObject&#58;&#91;NSNumber numberWithBool&#58;YES&#93; forKey&#58;@&quot;hadFirstLaunch&quot;&#93;;
    &#125;
    

}
[/code:1:5a20c93a03]

in je application delegate…

Meer voorkauwen kan ik het niet :slight_smile:

NB. Nee, ik heb het niet getest of wat dan ook, dus typo’s enzo kunnen er in zitten…

Bedankt,

is er ook een voorbeeld die al gemaakt is in Xcode?

No offense there buddy, maar als je dat nog niet vat, wellicht moet je dan je heil eerst bij de wat simpelere programma's zoeken... Meer de basisconcepten van het programmeren leren enzo, en de rest van het riedeltje.. Gebruik de zoekfunctie op het forum maar...

Helaas, ik kom er nog niet uit. Zou iemand misschien voor mij een Testje willen maken in Xcode zodat ik het kan overnemen? Sorry dat ik dit steeds vraag, want hiervoor ligt m'n kennis niet zo ver.