没有id的XCODE协议限定符是过时的

时间:2011-09-17 18:47:50

标签: ios xcode xcode4 syntax-error

我是一个begginer xcode开发人员并且使用xcode 4尝试按照xcode 3.2教程IDE向我显示错误;

没有id的

协议限定符是过时的

我如何解决它,什么是正确的声明

教程; http://www.youtube.com/watch?v=2Rd9TtG3Uws

代码;

<UIPickerViewDataSource, UIPickerViewDelegate> {

    NSArray* activities;
    NSArray* fellings;
}

2 个答案:

答案 0 :(得分:1)

当你声明接口时,它继承自一个基类,如NSObject,UIView,UIViewController等......你需要接口名,然后是基类,然后是它支持的委托。

这样的事情:

@interface MyView: UIView <UIPickerViewDataSource, UIPickerViewDelegate> {
    NSArray* activities;
    NSArray* fellings;
}

此外,如果您正在实现一个期望实现该协议的对象,则应该在签名中接受id。 Fr示例:

- (id)initWithContext:(NSManagedObjectContext *)context
          coordinator:(NSPersistentStoreCoordinator *)coordinator
             delegate:(id<NSFetchedResultsControllerDelegate>)delegate;

使用相同的错误查看此SO问题:

What does this LLVM 1.5 warning mean? "protocol qualifiers without 'id' is archaic"

答案 1 :(得分:0)

你需要

@interface Classname : InheritedClassname 
&lt;

之前的