我是一个begginer xcode开发人员并且使用xcode 4尝试按照xcode 3.2教程IDE向我显示错误;
没有id的协议限定符是过时的
我如何解决它,什么是正确的声明
教程; http://www.youtube.com/watch?v=2Rd9TtG3Uws
代码;
<UIPickerViewDataSource, UIPickerViewDelegate> {
NSArray* activities;
NSArray* fellings;
}
答案 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; 之前的