2011-11-05 2 views
0

Obtention d'un problème d'identificateur non déclaré dans mon code. Ont commenté les messages du compilateur.Identificateur non déclaré dans le code Objective-C

main.m

#import <Foundation/Foundation.h> 

int main (int argc, const char * argv[]) 
{ 

    @autoreleasepool { 

     NSMutableArray *stocks = [[NSMutableArray alloc]init]; 

     NSMutableDictionary *stock; 

     stock = [NSMutableDictionary dictionary]; 
     [stock setObject:@"AAPL" 
        forKey:@"symbol"]; 

     [stock setObject:[NSNumber numberWithInt:200] 
             forKey:@"shares"]; 
           [stocks addObject:stock]; 

     stock = [NSMutableDictionary dictionary]; 
     [stock = setObject:@"GOOG" // use of undeclared identifier 'setObject' 
        forKey:@"symbol"]; 
     [stock = setObject:[NSNumber numberWithInt:160] // use of undeclared identifier  'setObject' 
        forKey:@"shares"]; 
     [stocks addObject:stock]; 

     [stocks writeToFile:@"/tmp/stocks/plist" 
       atomically:YES]; 



     } 
    return 0; 
} 

Répondre

2

Votre problème est le signe égal ..

[stock **=** setObject:@"GOOG" // use of undeclared identifier 'setObject' 
       forKey:@"symbol"]; 
    [stock **=** setObject:[NSNumber numberWithInt:160] // use of undeclared identifier  'setObject' 
       forKey:@"shares"]; 

Votre code devrait être ..

[stock setObject:@"GOOG" // use of undeclared identifier 'setObject' 
       forKey:@"symbol"]; 
    [stock setObject:[NSNumber numberWithInt:160] // use of undeclared identifier  'setObject' 
       forKey:@"shares"]; 
+0

Cela l'a fait; Je vous remercie. Doit avoir été «égale à l'aveugle signe» – pdenlinger

1

Vous ne faites pas

[stock = setObject....

vous faites directement

[stock setObject....

Ces méthodes ne renvoient aucune sorte de valeur, ils sont des méthodes vides (parler sur la méthode -setObject)

+0

Oui, il semble même que vous savez ce que vous faites et c'est juste une faute de frappe plus élevé dans le code que vous le faites correctement xD – DanZimm

0

Vous avez [stock = setObject au lieu de simplement [ stock setObject: Perd les égales.

Questions connexes