2010-08-08 35 views
2

j'ai ce code et sur la deuxième ligne, il me donne une erreur qui dit invalide initialzer Voici le code:non valide initialiseur, CGPoint

-(void)setPlayerPosition:(CGPoint)position { 
CGPoint tileCoord = [self tileCoordForPosition:position]; 
int tileGid = [_meta tileGIDAt:tileCoord]; 
if (tileGid) { 
    NSDictionary *properties = [_tileMap propertiesForGID:tileGid]; 
    if (properties) { 
    NSString *collision = [properties valueForKey:@"Collidable"]; 
    if (collision && [collision compare:@"True"] == NSOrderedSame) { 
    return; 
    } 
    } 
} 
_player.position = position; 
} 
+4

Quel est le type de retour de 'tileCoordForPosition:'? – zneak

+0

Vérifiez s'il vous manque une parenthèse de fermeture} quelque part dans le fichier entier. –

Répondre

0

Je vais utiliser mes pouvoirs psychiques et deviner que vous avez accidentellement déclaré tileCoordForPosition: comme renvoyant un CGPoint* (c'est-à-dire un pointeur vers un CGPoint) plutôt qu'un CGPoint.

(Il aurait cependant été utile si vous montré le code correspondant donc je ne pas avoir à tirer le ESP.)

1

J'ai le même problème avec vous. Mais quand je déclare la fonction [tileCoordForPosition] dans le fichier .h, tout est réussi.