gpt4 book ai didi

iphone - 我的@property 已声明,但我仍然收到可能无法响应警告

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:18:20 25 4
gpt4 key购买 nike

我不喜欢随处可见的警告,而这个警告一直困扰着我。关于我做错了什么的任何想法?我有大量使用相同方法的属性,但没有一个给我警告。为什么 Xcode 不能识别这个?

虽然应用程序按预期工作,但 Xcode 给我以下编译时警告:

'OnlinePeerBrowser' may not respond to '-setMyParent:'

我在 OnlinePeerBrowser.h 中的属性声明

#import "WelcomeViewController.h"

@interface OnlinePeerBrowser : UIViewController <UITableViewDelegate, UITableViewDataSource, NSNetServiceBrowserDelegate> {

WelcomeViewController *_myParent;
}

@property (nonatomic, assign) WelcomeViewController *myParent;

OnlinePeerBrowser.m 有

@synthesize myParent=_myParent;

我在此处的 WelcomeViewController.m 中收到有关 setMyParent 的警告...

#import "WelcomeViewController.h"
#import "OnlinePeerBrowser.h"

@implementation WelcomeViewController

- (void)peerPickerController:(GKPeerPickerController *)picker didSelectConnectionType:(GKPeerPickerConnectionType)type {
...

OnlinePeerBrowser *controller = [[OnlinePeerBrowser alloc]
initWithNibName:@"OnlinePeerBrowser" bundle:nil];
[controller setMyParent:self];
}

此外,奇怪的是我也不能在这里使用点语法。

controller.myParent = self; 

给我以下错误:

/Users/vesselhead/Development/iPhone/DJBox/WelcomeViewController.m:254: error: request for member 'myParent' in something not a structure or union

我觉得我一定错过了一些非常简单的东西。

最佳答案

您发布的代码看起来是正确的。这意味着编译器正在从某处引入 OnlinePeerBrowser 类的另一个声明。

  • 检查循环导入。

  • 检查您是否拥有 OnlinePeerBrowser.h 文件的多个副本。

  • #warning Testing 行添加到您的 OnlinePeerBrowser.h 文件中。当您编译时,该警告应该出现在日志中。如果没有出现该警告,则说明编译器未选取该文件。

如果是循环导入,则不要在“OnlinePeerBrowser.h”中导入“WelcomeViewController.h”。相反,在 OnlinePeerBrowser.h 中使用前向声明,例如@class WelcomeViewController ,并在OnlinePeerBrowser.m中导入“WelcomeViewController.h”

关于iphone - 我的@property 已声明,但我仍然收到可能无法响应警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7506662/

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