2

我正在向我的项目添加一个新协议,但 XCode 无法识别该代码。我在同一个项目中已经有其他协议没有任何问题,但这次有趣的是代码的颜色不正确,自动文本助手无法识别语言。

例如,在协议中,代码如下所示:

#import <Foundation/Foundation.h>

@protocol URLGetDelegate <NSObject>
@required

@optional

- (void)setWeather:(NSArray*) data;
- (void)setChemists:(NSData*) data;

@end

然后 NSObject 显示为紫色,但是在新协议中 NSObject 显示为黑色,当我输入代码时,NSO ... XCode 不会自动为我提供 NSObject 字样。

#import <Foundation/Foundation.h>

@protocol CompanyDelegate <NSObject>

@end

有什么帮助吗?

谢谢

协议工作

协议工作文本弹出窗口

协议不起作用

4

1 回答 1

1

Laure_f_o 指的是 XCode 中缺乏标准的自动完成和文本着色;本质上,XCode 拒绝识别新添加的协议。因此,当您尝试将其添加到一个类并将该类声明为订阅该协议时,您会收到构建错误。

我只是遇到了完全相同的问题:我项目中的其他协议工作正常,但是当尝试添加一个新协议时,XCode 根本无法识别它。这就是 XCode 4.6.2 的全部内容

最终为我解决了以下问题(基于 Javy 的建议:Xcode Not Immediately Recognizing New Classes (iOS)):

1.) 清洁项目

2.) 关闭项目(但不是 XCode)

3.) 在 Xcode 中打开 Organizer(在 Window 菜单下)

4.) 选择“项目”选项卡

5.)删除“派生数据”(如果您已保存快照,则必须先删除这些快照)

6.) 退出 XCode 并重新启动计算机

7.)重新打开项目并再次清理它

8.) 将问题协议导入一个类并将该类声明为订阅它

然后,也只有到那时,我才最终让有问题的协议开始表现得如此,并且在尝试在类中使用它时没有遇到构建错误。

于 2014-05-02T23:30:46.707 回答