单身人士的问题

时间:2011-04-11 21:16:14

标签: iphone objective-c

我有单身人士

 @interface CartesManager : NSObject {


NSMutableArray *carteMan ; 
NSInteger indexCarteCourante ;
NSInteger numImage ; 
BOOL isEditable ;

}

我想更改数组“Carteman”的最后一个单元格的内容。我拿了数组的最后一个框。

-(void)DoneButton :(id)sender {

int Valeur ; 

Valeur = ([[CartesManager sharedInstance].carteMan count] -1 );

Carte *uneCarte= [[[CartesManager sharedInstance].carteMan]objectAtIndex:Valeur]; //Expected ":" before ";" token 


 switch (indexsectioncurrent) {
     case 0:
         uneCarte.titre = textField.text ;
         break;
     case 1:
         uneCarte.nom = textField.text ; 
         break;
    case 2:
         uneCarte.prenom = textField.text ; 
        break;
    case 3:
         uneCarte.adresse = textField.text ; 
        break;
    case 4:
         uneCarte.phone = textField.text ; 
        break;
   case 5:
        uneCarte.mobile = textField.text ; 
       break;
   case 6:
        uneCarte.mail = textField.text ; 
       break;
    case 7:
         uneCarte.site = textField.text ; 
        break;
    case 8:
         uneCarte.commentaire = textField.text ; 
        break;

     default:
         break;

 }  
uneCarte.image1 = image1CarteV ; 
uneCarte.image2 = image2CarteV;





[self dismissModalViewControllerAnimated:YES];

}

这是我的问题

         Carte *uneCarte= [[[CartesManager sharedInstance].carteMan]objectAtIndex:Valeur]; //Expected ":" before ";" token** 

3 个答案:

答案 0 :(得分:5)

访问房产时不需要[]:

Carte *uneCarte= [[CartesManager sharedInstance].carteMan objectAtIndex:Valeur]; 

答案 1 :(得分:1)

对于初学者,请在.carteMan]objectAtIndex:之间加一个空格。此外,您尚未明确表示carteMan是一个财产。您可能需要添加:

@property(retain, nonatomic) NSMutableArray *carteMan;

到您的头文件,并且:

@synthesize carteMan;

到您的实施文件。

答案 2 :(得分:1)

当您按照执行顺序查看导致错误的行时,会发生以下情况:

  1. [CartesManager sharedInstance];这将返回CartesManager对象
  2. result.carteMan;这将获取第一步的结果并获取名为carteMan的属性,返回一个NSMutableArray对象
  3. [result];这是一条不完整的讯息。它有一个接收器,但没有命令。我认为您根本不想执行此步骤,因为您似乎要在步骤2中调用阵列上的objectAtIndex:
  4. 要解决您的问题,请从

    更改您的代码
    Carte *uneCarte= [[[CartesManager sharedInstance].carteMan]objectAtIndex:Valeur];
    

    Carte *uneCarte= [[CartesManager sharedInstance].carteMan objectAtIndex:Valeur];