Ios 在我的函数中使用未声明的标识符

Ios 在我的函数中使用未声明的标识符,ios,iphone,objective-c,ipad,Ios,Iphone,Objective C,Ipad,我使用了未声明的标识符,尽管我在.h中声明了它,在.m中合成了它 我以前遇到过另一个问题,但我在stack overflow中发布了一个问题,他们说我不应该将它们外部化,当我将它们外部化时,代码给了我一个错误“ld:symbol(s)not found for architecture i386” clang:error:linker命令失败,退出代码为1(使用-v查看调用)”,并且知道我没有这样做,并且正如您所看到的,它给了我“使用未声明的标识符” .h #import <UIKit/U

我使用了未声明的标识符,尽管我在.h中声明了它,在.m中合成了它

我以前遇到过另一个问题,但我在stack overflow中发布了一个问题,他们说我不应该将它们外部化,当我将它们外部化时,代码给了我一个错误“ld:symbol(s)not found for architecture i386” clang:error:linker命令失败,退出代码为1(使用-v查看调用)”,并且知道我没有这样做,并且正如您所看到的,它给了我“使用未声明的标识符”

.h

#import <UIKit/UIKit.h>

BOOL OFrameIsHidden, XFrameIsHidden;
NSString *topOne, *topTwo, *topThree;
NSString *midOne, *midTwo, *midThree;
NSString *botOne, *botTwo, *botThree;

void hideAll(void);

@interface ViewController : UIViewController
void hideAll(void);
@property (weak, nonatomic) IBOutlet UIImageView *XFrame;
@property (weak, nonatomic) IBOutlet UIImageView *OFrame;
@property (weak, nonatomic) IBOutlet UIImageView *frame;
@property (weak, nonatomic) IBOutlet UILabel *X;
@property (weak, nonatomic) IBOutlet UILabel *O;
@property (weak, nonatomic) IBOutlet UILabel *WhoWon;



@property (weak, nonatomic) IBOutlet UIButton *oneOne;
@property (weak, nonatomic) IBOutlet UIButton *oneTwo;
@property (weak, nonatomic) IBOutlet UIButton *oneThree;
@property (weak, nonatomic) IBOutlet UIButton *twoOne;
@property (weak, nonatomic) IBOutlet UIButton *twoTwo;
@property (weak, nonatomic) IBOutlet UIButton *twoThree;
@property (weak, nonatomic) IBOutlet UIButton *threeOne;
@property (weak, nonatomic) IBOutlet UIButton *threeTwo;
@property (weak, nonatomic) IBOutlet UIButton *threeThree;

@end

供您参考,IBAcions还有一些代码,但我不想太长。

不要像这样混合函数和方法。它并没有真正帮助您,您所做的只是创建可见性问题

方法通过传递一个隐藏参数来工作,该参数允许访问
self
。所有
@property
定义都是实例变量,因此需要访问
self
才能访问它们。函数(如
hideAll
)没有此访问权限,因此无法访问实例变量(它们不知道实例是什么)

您通常也不希望在类定义之外定义变量


将变量导入类中,或将它们移到另一个更合适的类,并使用代码的方法,而不是函数。

这是标记C++,因为……?哪个标识符未声明?完整的错误消息是什么?发生在哪一行在不提供任何信息的情况下,你如何期望得到答案?使用纯客观c。不要与C++混合。顺便说一句,如果您真的想要,请将ViewController的扩展名从.m更改为.mm
#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize XFrame, OFrame, frame, X, O, WhoWon;
@synthesize oneOne, oneTwo, oneThree;
@synthesize twoOne, twoTwo, twoThree;
@synthesize threeOne, threeTwo, threeThree;

void hideAll(void){

    [OFrame setHidden:YES];
    [XFrame setHidden:YES];
    [frame setHidden:YES];

    [X setHidden:YES];
    [O setHidden:YES];


    [oneOne setHidden:YES];
    [oneTwo setHidden:YES];
    [oneThree setHidden:YES];

    [oneOne setHidden:YES];
    [twoTwo setHidden:YES];
    [twoThree setHidden:YES];

    [threeOne setHidden:YES];
    [threeTwo setHidden:YES];
    [threeThree setHidden:YES];
}