【问题标题】:Unexpected interface name - Xcode意外的接口名称 - Xcode
【发布时间】:2013-04-25 06:51:09
【问题描述】:

我正在开发一个从 iOS 照片库中检索照片的应用程序。选择照片后,我想定位一个 .xib 以显示可以编辑所选照片的​​界面。

但是由于此错误,构建失败:

“意外的接口名称'imageEditorView':预期的表达式”

代码如下:

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

我在两个控制器的 .h 文件中正确导入了所有外部组件。任何帮助将不胜感激。

【问题讨论】:

  • 你想用这段代码做什么?当应用程序启动你正在解雇的东西时??
  • 你得到答案了吗?
  • self.parentViewController?在应用委托中?

标签: ios iphone xcode appdelegate presentviewcontroller


【解决方案1】:

你的代码有几个问题:

  • imageEditorView 是类的名称。这不能作为消息参数。您需要传递对对象的引用。

  • imageEditorView 之后,animated 之前有一个额外的冒号。您需要删除它。

  • application:didFinishLaunchingWithOptions: 内发送dismissViewControllerAnimated:completion:self 没有任何意义。要么您在应用程序委托中定义此方法,它不理解 dismissViewControllerAnimated:completion: 消息,要么您在视图控制器中定义它,在这种情况下 application:didFinishLaunchingWithOptions: 将不会被调用(除非您编写代码来显式调用它,这也是非常不寻常的)。

基于所有这些错误,我怀疑您根本不了解太多 Objective-C 或 iOS 编程。您需要通过一些教程来学习基础知识,因为这些都是非常基本的错误。

【讨论】:

    【解决方案2】:

    试试这样,

        - (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];
    

    【讨论】:

      【解决方案3】:

      你的错误在这里:

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

      你应该这样使用

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

      【讨论】:

      • 冒号不会导致他引用的错误。他引用的错误发生是因为imageEditorView 是类名,而不是变量名。如果他将其更改为变量名,那么他将收到错误“Use of undeclared identifier 'animated'”(因为冒号)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-19
      • 1970-01-01
      相关资源
      最近更新 更多