2010-05-18 8 views
0

J'ai créé une classe (sous-classe de NSObject) qui tiendra tous mes sqls/dbConnections etc ..méthode créée dans un seperate retourne classe « hors de portée »

dans un séparé viewcontroller, j'ai instancié de SQL classe et effectué quelques actions, tout s'est bien passé.

mais. une de mes méthodes dans la classe de SQL est une méthode définie comme suit:

-(NSString *)queryTable:(NSUInteger *)fieldnum 
     //query from db, and assign the field value into "fieldName" 

     dbEntity = fieldName; 
     [fieldName release]; 

     } 
     sqlite3_finalize(statement); 
    } 
    return dbEntity; 
} 

dbEntity est défini comme NSString, et j'ai définir comme une propriété nonatoimc Retain

@property (nonatomic,retain) NSString *dbEntity; 

chaque fois que je appeler cette méthode à partir de mon viewController et déboguer étape par étape, je vois que la méthode est en cours d'exécution, il est en train de db comme attendu, mais quand il passe la valeur dans dbEntity les valeurs dans dbEntity sont soudainement "hors de portée " c'est ... si je parcours cette actio spécifique n:

dbEntity = fieldName; 

Je peux voir des valeurs dans fieldName, mais voir "hors champ" dans dbEntity.

Pourquoi est-ce?!?

Qu'est-ce qui ne va pas avec les définitions dbEntity?

Toute aide sera appriciée.

Répondre

1

Il n'est pas retenu à moins que vous ne:

self.dbEntity = fieldName; 
+1

sans l'auto vous accédez à la variable directement, mais avec self.dbEntity vous allez à travers les méthodes d'accès générés qui ne conservent pour vous – willcodejavaforfood

+0

si facile , si simple, merci beaucoup! –

+0

pas de problème mec :) – willcodejavaforfood

Questions connexes