2013-04-25 5 views
0

Я работаю над приложением, которое извлекает фотографии из библиотеки фотографий iOS. Когда выбрана фотография, я хочу настроить таргетинг на .xib, чтобы отобразить интерфейс, в котором можно отредактировать выбранную фотографию.Неожиданное имя интерфейса - Xcode

Однако сборка не удается из-за этой ошибки:

"Unexpected interface name 'imageEditorView': expected expression"

Вот код:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions 
{ 
    [self dismissViewControllerAnimated:YES completion:^{ 
     [self.parentViewController presentViewController:imageEditorView: animated:YES completion:nil]; 
    }]; 
} 

У меня есть все внешние импортированные правильно в файлах .h для обоих контроллеров. Любая помощь будет принята с благодарностью.

+0

Что вы пытаетесь сделать с помощью этого кода? когда приложение запускает то, что вы увольняете? –

+0

У вас есть ответ? – Balu

+0

self.parentViewController? В делегате приложения? – geraldWilliam

ответ

0

Есть несколько проблем с кодом:

  • imageEditorView - название класса. Это не будет работать как аргумент сообщения. Вам нужно передать ссылку на объект.

  • У вас есть дополнительный двоеточие после imageEditorView, до animated. Вам нужно удалить его.

  • Отправка dismissViewControllerAnimated:completion: в self внутри application:didFinishLaunchingWithOptions: не имеет никакого смысла. Либо вы определяете этот метод в делетете приложения, который не понимает сообщение dismissViewControllerAnimated:completion:, либо вы определяете его в контроллере представления, и в этом случае application:didFinishLaunchingWithOptions: не будет вызываться (если вы не написали код, чтобы явно его вызвать, также очень необычны).

Основываясь на всех этих ошибках, я подозреваю, что вы вообще не знаете много программирования Objective-C или iOS. Вам нужно проработать некоторые учебные пособия, чтобы изучить основы, потому что это очень простые ошибки.

0

попробовать, как это,

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions 
    { 
     [self dismissViewControllerAnimated:YES completion:^{ 
      [self.parentViewController presentViewController:imageEditorView: animated:YES completion:nil]; 
     // in your code problem must be here 

     }]; 
    } 
imageEditorView *svc = [[imageEditorView alloc]initWithNibName:@"imageEditorView" bundle:nil]; 
[self presentViewController:svc animated:YES completion:NULL]; 
0

Ваша ошибка здесь:

[self.parentViewController presentViewController:imageEditorView: animated:YES completion:nil]; 
----------------------------------------------------------------^ 

Вы должны использовать, как это

[self.parentViewController presentViewController:imageEditorView animated:YES completion:nil]; 
+0

Двоеточие не вызовет ошибку, которую он процитировал. Произошла ошибка, потому что 'imageEditorView' - это имя класса, а не имя переменной. Если он изменит его на имя переменной, он получит сообщение об ошибке «Использование необъявленного идентификатора« анимированный »(из-за двоеточия). –