Я не могу найти ошибку с -(IBAction). Он говорит, что есть ожидаемое выражение

 `-(IBAction)saveData
    {
        //get paths from root directory
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,        /*   */  NSUserDomainMask, YES);

//get documents path
        NSString *documentsPath = [paths objectAtIndex:0];

//get the path to our Data/plist file
    NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"Data.plist"];


//set the variables to the values in the text fields
        self.personName = nameEntered.text;
        self.phoneNumbers = [[NSMutableArray alloc] initWithCapacity:3];
        [phoneNumbers addObject:myPhone.text];
        [phoneNumbers addObject:momPhone.text];
        [phoneNumbers addObject:dadPhone.text];

        //create dictionary with values in UITextFields
        NSDictionary *plistDict = [NSDictionary dictionaryWithObjects: 
[NSArray arrayWithObjects: personName, phoneNumbers, nil] forKeys:
[NSArray arrayWithObjects: @"Name", @"Phones", nil]];

        NSString *error = nil;
        //create NSData from dictionary
        NSData *plistData = [NSPropertyListSerialization dataFromPropertyList: plistDict             /* */   format: NSPropertyListXMLFormat_v1_0 errorDescription: &error];

    //check if plist data exists
    if (plistData)
    {
        //write plistData to our Data.plist file
        [plistData writeToFile:plistPath atomically: YES];            
    }
    else
    {
        NSLog(@"Error in saveData: %@", error);
        [error release];
    }
}`

Я не могу найти ошибку с -(IBAction). Он говорит, что есть ожидаемое выражение. Любая помощь будет принята с благодарностью! Я новичок в кодировании, поэтому многого не знаю.

Я исправил это, ребята, спасибо за помощь. Это была большая ошибка новичка, которую я совершил... Я поместил свои действия в viewdidload :(


person Just_chillin    schedule 14.01.2013    source источник
comment
Пожалуйста, отформатируйте код более красиво. . . SO обнаружит код, если вы используете четыре пробела. . . (вот почему только некоторые из вышеперечисленных). . тогда мы сможем увидеть, что происходит.   -  person Jasper Blues    schedule 14.01.2013
comment
куда он жалуется?   -  person foundry    schedule 14.01.2013
comment
Наиболее вероятная причина — незакрытая фигурная скобка над кодом из вашего поста.   -  person Sergey Kalinichenko    schedule 14.01.2013
comment
@user1975244 user1975244, кроме автоматического/атомарного, сейчас я не могу найти никаких ошибок в вашем коде.. пожалуйста, отметьте, в какой строке он жалуется expected expression   -  person foundry    schedule 14.01.2013
comment
@ Zaph, я думаю, ты имеешь в виду «это автоматически» ;-j   -  person foundry    schedule 14.01.2013
comment
@user1975244 user1975244 вам будет полезно найти учебник, который более актуален в используемых соглашениях. В наши дни нет необходимости ни объявлять ивары, ни синтезировать их, что теперь происходит автоматически.   -  person zaph    schedule 14.01.2013
comment
@He, спасибо, автокоррекция меня иногда достает. :-) не сейчас.   -  person zaph    schedule 14.01.2013


Ответы (2)


Во-первых, имена методов неверны
Неправильно:

[plistData writetoFile:plistPath automatically: YES]; 

Правильный:

[plistData writeToFile:plistPath atomically:YES];

Из документов Apple:

- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag
person zaph    schedule 14.01.2013
comment
Я попытался прокомментировать эту часть. Ошибка все равно вылезала. - person Just_chillin; 14.01.2013

Этот:

         [plistData writeToFile:plistPath automatically: YES];            

должно быть так:

         [plistData writeToFile:plistPath atomically: YES];            

(имейте в виду, что это не даст вам ошибку «ожидаемое выражение», вы должны увидеть ошибку типа «нет интерфейса для NSData объявляет селектор...»...)

person foundry    schedule 14.01.2013
comment
Я изменил его на атомарный, но это не исправило. спасибо, что заметили эту ошибку, ха-ха. Я бы разместил фотографию, чтобы ее было легче увидеть, но этот сайт не позволяет делать это новым участникам. - person Just_chillin; 14.01.2013
comment
можно ссылку на картинку.. - person foundry; 14.01.2013
comment
Если это поможет, это руководство, которому я пытаюсь следовать theappcodeblog.com/2011/05/30/ - person Just_chillin; 14.01.2013
comment
@Zaph - исправлено, спасибо ... это становится моя огромная ненависть, когда люди смешивают iVar и условности ссылок на собственность... - person foundry; 14.01.2013
comment
@Zaph - согласен, я только что удалил свой комментарий - person foundry; 14.01.2013
comment
@Zaph - уходи, уходи... - person foundry; 14.01.2013