2010-02-12 9 views
0

Lorsque j'essaie d'initialiser un objet dans le tableau: cellForRowAtIndexPath, le simulateur se bloque. Le code que j'ai utilisé estDéclaration d'objet dans iPhone tableView

Claimant *tempClaimant = [[Claimant alloc] init]; 
tempClaimant = [appDelegate.arrRetailClaims objectAtIndex:0]; 
NSLog(@"Claimant Name is: %@",tempClaimant.ClaimantName); 

Y at-il quelque chose de mal à cela. Le même code fonctionne correctement lorsqu'il est écrit dans une méthode viewDidLoad. S'il vous plaît aider ..

Merci à l'avance, Shibin

+0

Est-ce que cela fonctionne si vous commentez la ligne NSLog (@ "Nom du demandeur est:% @", tempClaimant.ClaimantName); – Zinc

+0

Accédez à XCode et Run-> Console pour obtenir plus d'informations sur l'incident – willcodejavaforfood

+0

Pourquoi alloueriez-vous et initiez-vous un nouvel objet uniquement pour le réaffecter à un autre élément de la ligne? Il semble un peu fuyant :) – willcodejavaforfood

Répondre

3

Tout d'abord, il n'y a aucune raison d'allouer et initialiser un nouvel objet si vous avez juste besoin d'une référence à un objet existant qui se trouve dans un tableau:

//Claimant *tempClaimant = [[Claimant alloc] init]; 
Claimant *tempClaimant = [appDelegate.arrRetailClaims objectAtIndex:0]; 

Ensuite, assurez-vous que le tableau et l'objet existent comme prévu:

NSLog(@"array = %@ %d",appDelegate.arrRetailClaims,[appDelegate.arrRetailClaims count]); 
NSLog(@"tempClaimant = %@",tempClaimant); 
NSLog(@"Claimant Name is: %@",tempClaimant.ClaimantName); 
+0

12/02/2010 17: 36: 57,414 VitalPoint [32667: 20b] = matrice ( , ) 2 12/02/2010 17: 36: 57,414 VitalPoint [32667 : 20b] tempClaimant = Ceci est la sortie, et après il plante ... !!! – smakstr

+0

quand j'essaye de nslog l'attribut dans le tempClaimant, il plante. Y? – smakstr

+0

Quel est le problème que vous rencontrez? Comme le suggère Leson, il s'agit clairement de l'accès à la propriété. Pouvez-vous montrer comment l'objet chaîne est attribué et affecté en tant que propriété "ClaimantName"? – gerry3

0

Il est possible que la propriété n'a pas été attribué ou a été publié à un moment donné que vous envoyez un message à une instance non/désallouée.

+0

Mais le même code fonctionne correctement dans la méthode viewDidLoad. son erreur quand j'essaye de l'implémenter dans le tableau: cellForRowAtIndexPath: – smakstr

Questions connexes