-
Q:
Integer variable Objective C
Met onderstaande code genereer ik twee integers.
int position1 = (arc4random() % 6) +1;
int position2;
do {
position2 = (arc4random() % 6) +1;
}
while (position2 == position1);Vervolgens probeer ik deze integers te gebruiken, er ontstaat echter een probleem.
firstButton.frame = btframe%d, position1;
secondButton.frame = btFrame%d, position2;Bij de vetgedrukte code bevindt zich de fout.
“Use of undeclared identifier ‘d’.”
Ik weet dat de notatie niet goed is maar volgens mij zit ik er niet ver naast. Het antwoord is vast wel te vinden op bv. stackoverflow maar ik zou niet goed weten waar ik op moet googelen… Weet iemand de juiste notatie?
Bij voorbaat dank!
Mvg,
RubenInactiefAnoniem15 juni 2013 om 15:59Een frame voor een view is een CGRect en heeft 4 variabelen: x oorsprong, y oorsprong, x lengte, y hoogte
Als je dus de x positie van de button wilt veranderen, kun je zoiets doen:
CGRect r = firstButton.frame; r.origin.x = position1; firstButton.frame = r;
Het gebruik van %d, etc doe je in combinatie met een NSString, en is hier niet op zijn plaats.
Je zou kunnen googelen op “change UIView position” (voor iOS), of “change NSView position (voor OS X)
Dank voor je reactie, dit is echter niet wat ik bedoel (wat waarschijnlijk komt door mijn onduidelijke vraagstelling).
Eerst was dit mijn code (dit werkt perfect):
firstButton.frame = btframe1; secondButton.frame = btFrame2;
Wat ik echter wil doen is het getal veranderen in een variabele, dit heb ik op de volgende manier proberen te doen:
firstButton.frame = btframe%d, position1; secondButton.frame = btFrame%d, position2;
Dit is fout want, zoals je aangeeft mag je %d alleen in combinatie met een NSString gebruiken. Als ik echter dit probeer krijg ik ook een error:
firstButton.frame = [NSString stringWithFormat:@"btFrame%d", position1];
Hopelijk begrijp je nu iets beter wat ik probeer te bereiken.
Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.