* voor NSxxxx

* voor NSxxxx discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Hoi allemaal, Ik kon het zo snel niet vinden, omdat hierop googlen niet speciaal makkelijk is, dus ik vraag het hier. Ik kwam dit stukje ...



Ga terug   iPhone, iPod touch, iPad en Apple TV forum > Development > Ontwikkelen voor iOS
Wachtwoord vergeten? Registreren!
Registreer FAQ Ledenlijst Kalender Zoeken Berichten van vandaag Markeer forums als gelezen
  #1  
Oud 10 October 2010, 19:58
» iPhone 4 16GB (Zwart) [FW: 4.2.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 25 August 2010
Berichten: 84
Standaard * voor NSxxxx

Hoi allemaal,

Ik kon het zo snel niet vinden, omdat hierop googlen niet speciaal makkelijk is, dus ik vraag het hier. Ik kwam dit stukje code tegen.

Code:
@interface Quiz_GameViewController : UIViewController {
	IBOutlet	UILabel		*theQuestion;
	IBOutlet	UILabel		*theScore;
	IBOutlet	UILabel		*theLives;
	IBOutlet	UIButton	*answerOne;
	IBOutlet	UIButton	*answerTwo;
	IBOutlet	UIButton	*answerThree;
	IBOutlet	UIButton	*answerFour;
	NSInteger myScore;
	NSInteger myLives;
	NSInteger questionNumber;
	NSInteger rightAnswer;
	NSInteger time;
	NSArray *theQuiz;
	NSTimer *timer;
	BOOL questionLive;
	BOOL restartGame;
}
Wat mij opvalt is dat voor sommige dingen een * staat, zoals NSArray *theQuiz; maar geen * voor NSInteger questionNumber;

Waar staat dit * nu voor?

Alvast bedankt,
BlueCola
Advertentie
Advertentie Gesponsorde links (verdwijnt na registratie)

  #2  
Oud 11 October 2010, 08:36
» iPhone 4 32GB (Zwart) [FW: 5.1.1]  [Jailbreak: Nee]
» iPad 3 Wi-Fi 32GB (Zwart) [FW: 5.1.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 4 October 2010
Locatie: Breda
Berichten: 68
Standaard

Dat betekent dat je eerst een boek over de programmeertaal C moet lezen. Het sterretje betekent dat deze variabelen pointers zijn. Pointers zijn een essentiele basis feature van C, en dus van Objective-C. Zonder kennis daarvan kom je niet ver.
  #3  
Oud 11 October 2010, 08:52
» iPhone 4 16GB (Zwart) [FW: 4.2.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 25 August 2010
Berichten: 84
Standaard

Ik heb 3 boeken over objective-c en 1 over c#. Toch staat het nergens duidelijk in.

Wat houd een pointer precies in?
  #4  
Oud 11 October 2010, 09:19
» iPhone 5 16GB (Wit) [FW: 8.1.2]  [Jailbreak: Nee]
» iPad mini Wi-Fi 16GB (Zwart) [FW: 8.1.2]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 27 October 2008
Locatie: Amsterdam
Berichten: 174
Standaard

C# is geen Objective-c en al helemaal geen C.
En ik kan me niet voorstellen dat google je niet kan vertellen wat een pointer is.

Kort gezegt is een pointer een adres naar een geheugen blok waar je object staat.
  #5  
Oud 11 October 2010, 09:37
» iPhone 4 32GB (Zwart) [FW: 5.1.1]  [Jailbreak: Nee]
» iPad 3 Wi-Fi 32GB (Zwart) [FW: 5.1.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 4 October 2010
Locatie: Breda
Berichten: 68
Standaard

Een class die extend van NSObject maak je aan op de heap en daar krijg je een pointer voor terug. Een type die niet extend van NSObject, maar bijvoorbeeld een struct is, maak je aan op de stack en daar gebruik je over het algemeen geen pointer voor (hoewel dat wel kan).

Bijvoorbeeld: NSInteger extend niet van NSObject (het is een typedef), dus die krijgt geen sterretje. UILabel extend wel van NSObject en krijgt daarom wel een sterretje.
  #6  
Oud 13 October 2010, 11:44
» iPhone 5s 16GB (Goud) [FW: 7.1.2]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.1.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 12 January 2009
Berichten: 484
Standaard

Hollance heeft helemaal gelijk. Om het iets simpeler uit te leggen:

Een NSInteger of een int is een primitief type. Dat betekent zo'n beetje dat hij maar 1 waarde heeft, namelijk een getal.

Een class NSObject, of een afgeleide daarvan, heeft meerdere waardes, properties genaamd.

Om dus een integer door te geven kun je gewoon de waarde doorgeven aan een functie.
Een class echter is groter, dus wat je doet is een POINTER meegeven, die het begin van de class aanwijst. De pointer wijst dus naar het stukje geheugen waar de class staat.
__________________
Software Engineer
iPhone Developer
Reageren


Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten)

 
Discussietools
Weergave

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit
Trackbacks are Aan
Pingbacks are Aan
Refbacks are Uit



Alle tijden zijn GMT +2. Het is nu 18:11.