Permalänk

Hjälp med Xcode

Hej,

Jag har börjat programmera i Xcode. Det har dykt upp lite problem som jag inte riktigt förstår. Så jag tänkte lägga in alla problemen jag har eller får och så kanske några kan hjälpa till.

Det första problemet som dök upp var när jag gjorde en Hello World app. Jag har gjort så att jag tycker på en knapp så kommer texten Hello World upp i en label.

Jag förstår inte riktigt vad det betyder. Vad är det som gör att det blir så?

Permalänk

Ibland står det mer utförlig information om felet i debug-loggen (nedre delen av program-fönstret, under text-/kod-editorn, syns under tiden du kör appen i simulatorn, i videon har den titeln All Output).

Permalänk

Detta kommer upp i debug loggen:

Couldn't register OSApp.HelloWorld with the bootstrap server. Error: unknown error code.
This generally means that another instance of this process was already running or is hung in the debugger.
sharedlibrary
apply-load-rules all
Current language: auto; currently objective-c
(gdb)

Men jag har inte gjort någon kopia av klassen eller något sånt. För det är väll det som instance betyder...

Permalänk

Skulle tolka det som att simulatorn redan är upptagen med att köra appen, kan hända om du har kört appen sedan tidigare men inte stängt ned den. Vet själv att jag ofta är tvungen att klicka på den stora STOP-knappen (uppe i vänstra hörnet på programfönstret) flera gånger för att stänga ned appen ordentligt i simulatorn och/eller valfri iEnhet, STOP-knappen blir grå när appen inte längre körs i simulatorn så när den är grå är du redo att trycka på RUN-knappen. Jag är ingen mac-användare per se så jag har bara antagit att det är en av många "mac-features" man får vänja sig vid.

Annars finns standard-lösningarna man kan testa:
- töm xcode kompilerings-cache (menyn Project > Clean...)
- starta om xcode (verkligen starta om, dvs inte bara minimera fönstret, högerklicka och välj quit i program-dockan i nedre delen av skärmen)
- starta om datorn

Om det inte hjälper är det nog enklast om du lägger upp projektet/koden publikt.

Permalänk

Ja det fungerade när jag startade om datorn men nu har jag ett annat problem. Jag får inte upp hela Hello World utan bara Hello... Men jag har ändå skrivit in

- (IBAction)button:(id)sender {
label.text = @Hello World;

}

Det ska inte vara en smilie utan : ( utan mellanrum.

Permalänk

Testa att sätta bakgrundsfärgen på label-komponenten till ngt annat än ClearColor (genomskinligt) i UI editorn så ser du varför...

Label-komponenten ritar bara ut det som får plats inuti komponenten, om inte all text får plats ser den till lineBreakMode-egenskapen ("property") för att se hur den ska ruta ut texten, default-värdet är satt så att den ritar upp ... (s.k. ellipsis) för den text som inte får plats.

Tips1: Du kan ändra storleken på Label-komponenten i UI-editorn.
Tips2: Du kan också ändra storleken med sizeToFit-metoden ("anpassa efter innehåll") efter det att du satt texten.
... (finns många andra lösningar också)

Dold text
Permalänk
Skrivet av fqvarfort:

Testa att sätta bakgrundsfärgen på label-komponenten till ngt annat än ClearColor (genomskinligt) i UI editorn så ser du varför...

Label-komponenten ritar bara ut det som får plats inuti komponenten, om inte all text får plats ser den till lineBreakMode-egenskapen ("property") för att se hur den ska ruta ut texten, default-värdet är satt så att den ritar upp ... (s.k. ellipsis) för den text som inte får plats.

Tips1: Du kan ändra storleken på Label-komponenten i UI-editorn.
Tips2: Du kan också ändra storleken med sizeToFit-metoden ("anpassa efter innehåll") efter det att du satt texten.
... (finns många andra lösningar också)

Dold text

Tack nu fungerar det