gpt4 book ai didi

iphone - 找不到协议(protocol)声明 NSObject

转载 作者:行者123 更新时间:2023-11-29 11:20:18 25 4
gpt4 key购买 nike

我将尝试将用户在 subview 中选择的值传递回我的应用程序的主视图。我一直在阅读有关如何做的一些资料,目前正在学习一个相当有用的教程 here

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

#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..

最佳答案

正如 Malcolm 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

该代码应该可以编译,但这并不一定意味着它没有问题。传统上,不会保留委托(delegate),因为 problem of retain cycles .所以我更改了 delegate 的声明来自 retain 的属性(property)至 assign .

关于iphone - 找不到协议(protocol)声明 NSObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7561756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com