【问题标题】:getting expected a type in Xcode [closed]在 Xcode 中获得预期的类型 [关闭]
【发布时间】:2014-01-11 20:23:53
【问题描述】:

我得到了错误:expected a type in xcode。我不知道为什么我的 .h 类中会出现这种错误。 这是我的代码和屏幕截图。

#import <Foundation/Foundation.h>
@interface NaviGationStack : NSObject
@property (nonatomic, strong) NSMutableArray *navigattionStack;
+(NaviGationStack*)navigationStackClass;
-(void)popViecontrollerFromStack;
-(int)getNumberElementInStack;
-(void)pushViewControllerToStack:(UIViewController *)viewController;

我在最后一个函数中遇到了这个错误。

【问题讨论】:

标签: ios objective-c xcode xcode5


【解决方案1】:

导入UIKit.h 而不是Framework.h

#import <UIKit/UIKit.h>

【讨论】:

  • 应该没有必要。大多数头文件不导入 UIKit。事实上,他不应该导入任何东西。 .pch 文件同时导入 UIKit 和 Foundation。事实上,我将他的代码复制并粘贴到我的项目中并删除 #import 行,它仍然可以正常编译。这里发生了其他事情。
  • @matt 所以你是说所有源文件和头文件都使用预编译的头文件,即使它们不#import Prefix.pch
  • 是的,这就是预编译的头文件
  • @matt 什么意思,预编译头文件?这是没有意义的。它是一种加速包含文件的机制,但通常有一个可选部分,其中源/头文件包含预编译的头文件(想想MFC中的stdafx.h)。看起来和 Xcode 一样。
  • 我所说的“是”是指,正如亚里士多德所说,这是预编译头文件的“应有的样子”。预编译的头文件是一个“前缀文件”。它隐含包含在所有源文件中。这就是 为什么 它是预编译的。 - 自己试试。在.pch 文件中执行#define,并在任何源文件中引用它。你会看到它有效。或者,从您的 .h 文件中删除 UIKit 和 Foundation 的所有#import。您的代码仍然可以编译,因为所有内容都导入了 .pch 文件,该文件导入了 UIKit 和 Foundation。
猜你喜欢
  • 2020-12-27
  • 1970-01-01
  • 1970-01-01
  • 2022-09-27
  • 1970-01-01
  • 2018-09-14
  • 2023-04-04
  • 2014-01-18
  • 2018-03-28
相关资源
最近更新 更多