2011-09-26 67 views
1

我即将尝试将suer在子视图中选择的值传回给我的应用程序的主视图。我一直在阅读有关如何做到这一点,目前我正在遵循一个相当有益的教程here无法找到协议声明NSObject

我从第18步开始,并将其实现到我的代码中,因为它看起来相当简单...但是我有这个错误在我的secondview.h文件中,我声明我的协议如下。

#import <UIKit/UIKit.h> 

@protocol PassSearchData <nsobject> //this is where I get the "Cannot find protocol declaraton for 'nsobject' error 
@required 
- (void) setSecondFavoriteColor:(NSString *)secondFavoriteColor; 
@end 


@interface VehicleResultViewController : UITableViewController <NSXMLParserDelegate> { 
//... 
//Delegate stuff for passing information back to parent view 
    id <PassSearchData> delegate; 

} 
//.. 
//Delegate stuff for passing information back to parent view 
@property (retain) id delegate; 
//.. 
@end 
</PassSearchData></nsobject></uikit/uikit.h> //more errors here also.. 
+2

NSObject是区分大小写的,所以你想要PassSearchData

+0

rightyho,哈哈谢谢你应该发现我自己。谢谢:P –

回答

2

如马尔科姆Box在注释中,NSObject(和大多数的源代码,对于这个问题)是大小写敏感的。另外,我不确定</PassSearchData></nsobject></uikit/ uikit.h>的最后一行应该是什么。我建议类似如下:

#import <UIKit/UIKit.h> 

@protocol PassSearchData <NSObject> 
@required 
- (void) setSecondFavoriteColor:(NSString *)secondFavoriteColor; 
@end 


@interface VehicleResultViewController : UITableViewController <NSXMLParserDelegate> { 
//... 
//Delegate stuff for passing information back to parent view 
    id <PassSearchData> delegate; 

} 
//.. 
//Delegate stuff for passing information back to parent view 
@property (assign) id <PassSearchData> delegate; // not retain ? 
//.. 
@end 

这些代码可能应编译,但是,这并不一定意味着它是没有问题的。传统上,代表不会保留,因为problem of retain cycles。因此,我将delegate财产的声明从retain更改为assign

相关问题