2011-09-26 101 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

相關問題