Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 为什么编译器会说我没有';t声明了我的变量?_Objective C_Cocoa - Fatal编程技术网

Objective c 为什么编译器会说我没有';t声明了我的变量?

Objective c 为什么编译器会说我没有';t声明了我的变量?,objective-c,cocoa,Objective C,Cocoa,我在Xcode中得到一个错误,它说“whatEverVariable是未声明的”,这发生在.m文件内部,也发生在类本身外部。我已经在.h文件的大括号内声明了该变量,并使用@property和@synthesis访问该变量。然而,我有时会在.m文件中,甚至在我导入了包含变量的类的其他类中,出现上述错误。我是否遗漏了Objective-C的一些内容?我想我要问的是,如果事情被宣布了,为什么会不宣布呢 此外,我正在获取“按钮可能不会响应“setTitle”,因为这是一个错误,也可能是一个不推荐使用的错

我在Xcode中得到一个错误,它说“whatEverVariable是未声明的”,这发生在.m文件内部,也发生在类本身外部。我已经在.h文件的大括号内声明了该变量,并使用@property和@synthesis访问该变量。然而,我有时会在.m文件中,甚至在我导入了包含变量的类的其他类中,出现上述错误。我是否遗漏了Objective-C的一些内容?我想我要问的是,如果事情被宣布了,为什么会不宣布呢

此外,我正在获取“按钮可能不会响应“setTitle”,因为这是一个错误,也可能是一个不推荐使用的错误,或者是“setTitle:forState:”的错误,因为我不想使用它

我想举个例子,但我真的认为我在这里遗漏了一些明显的东西。有没有人对导致错误的原因有任何想法?对不起,这么笼统,但我必须是个白痴或什么的

这是说“picturesInArray未声明”

#导入
@界面图片:NSObject{
NSMUTABLEARRY*picturesInArray;
} 
@属性(非原子,保留)NSMutableArray*picturesInArray;
-(iAction)按下图片按钮:(id)发送方;
@结束
#导入“Pictures.h”
@实施图片
@合成图像序列;
-(iAction)pictureButtonPressed:(id)发送方{
如果(pictureIndex>=[picturesInArray计数]| | pictureIndex<0){
图片索引=0;
[imageView setImage:[picturesInArray对象索引:pictureIndex];
[图像视图设置需要显示];
}    
}

您能发布示例代码吗

我的猜测是,您没有在某个点上声明对象/变量类型whatEverVariable。请确保您的标头如下所示:

MyClass.h:

@interface MyClass : NSObject 
{
    NSString* whatEverVariable;
}

@property(readwrite, assign) NSString* whatEverVariable;

@end
MyClass.m:

@implementation MyClass

//whatever methods

@synthesize whatEverVariable;

@end
请注意,在@property中,您再次声明了变量的类型

对于按钮,请确保其为NSButton类型


另外,您导入了吗?这会导入很多诸如NSButton之类的标题。

您能发布示例代码吗

我的猜测是,您没有在某个点上声明对象/变量类型whatEverVariable。请确保您的标头如下所示:

MyClass.h:

@interface MyClass : NSObject 
{
    NSString* whatEverVariable;
}

@property(readwrite, assign) NSString* whatEverVariable;

@end
MyClass.m:

@implementation MyClass

//whatever methods

@synthesize whatEverVariable;

@end
请注意,在@property中,您再次声明了变量的类型

对于按钮,请确保其为NSButton类型

还有,你们导入了吗?这会导入很多像NSButton这样的标题。

这是说“picturesInArray未声明”,上面的注释很难阅读

#import <Foundation/Foundation.h> 
@interface Pictures : NSObject { 
    NSMutableArray *picturesInArray; 
} 

@property (nonatomic, retain) NSMutableArray *picturesInArray; 

-(IBAction)pictureButtonPressed:(id)sender; 

@end 


#import "Pictures.h" 
@implementation Pictures 

@synthesize picturesInArray; 

-(IBAction)pictureButtonPressed:(id)sender { 

    if (pictureIndex >= [picturesInArray count] || pictureIndex < 0) { 
        pictureIndex = 0;    

        [imageView setImage:[picturesInArray objectAtIndex:pictureIndex]]; 

        [imageView setNeedsDisplay]; 
    }    
}
#导入
@界面图片:NSObject{
NSMUTABLEARRY*picturesInArray;
} 
@属性(非原子,保留)NSMutableArray*picturesInArray;
-(iAction)按下图片按钮:(id)发送方;
@结束
#导入“Pictures.h”
@实施图片
@合成图像序列;
-(iAction)pictureButtonPressed:(id)发送方{
如果(pictureIndex>=[picturesInArray计数]| | pictureIndex<0){
图片索引=0;
[imageView setImage:[picturesInArray对象索引:pictureIndex];
[图像视图设置需要显示];
}    
}
这是说“picturesInArray未声明”上面的注释“很抱歉将其放入”使其难以阅读

#import <Foundation/Foundation.h> 
@interface Pictures : NSObject { 
    NSMutableArray *picturesInArray; 
} 

@property (nonatomic, retain) NSMutableArray *picturesInArray; 

-(IBAction)pictureButtonPressed:(id)sender; 

@end 


#import "Pictures.h" 
@implementation Pictures 

@synthesize picturesInArray; 

-(IBAction)pictureButtonPressed:(id)sender { 

    if (pictureIndex >= [picturesInArray count] || pictureIndex < 0) { 
        pictureIndex = 0;    

        [imageView setImage:[picturesInArray objectAtIndex:pictureIndex]]; 

        [imageView setNeedsDisplay]; 
    }    
}
#导入
@界面图片:NSObject{
NSMUTABLEARRY*picturesInArray;
} 
@属性(非原子,保留)NSMutableArray*picturesInArray;
-(iAction)按下图片按钮:(id)发送方;
@结束
#导入“Pictures.h”
@实施图片
@合成图像序列;
-(iAction)pictureButtonPressed:(id)发送方{
如果(pictureIndex>=[picturesInArray计数]| | pictureIndex<0){
图片索引=0;
[imageView setImage:[picturesInArray对象索引:pictureIndex];
[图像视图设置需要显示];
}    
}
这表示“
picturesInArray
未声明”

您确定它没有说“
pictureIndex
未声明”?因为这是您显示的代码中未声明的变量

这表示“
picturesInArray
未声明”


您确定它没有说“
pictureIndex
未声明”?因为这是您显示的代码中未声明的变量。

我肯定您遗漏了一些明显的内容,但如果没有看到任何代码,很难准确地说出您犯了什么错误。您还应该在标题中发布问题摘要。您能想象登录到SO后,首页上有50个条目,全部都是这样写的吗我有个问题。“?您一定错过了实现块末尾的@end。显然,您没有显示全部代码。能给我们提供这个类的完整代码吗?否则,请去掉当前示例中的所有冗余变量,并尝试仅在定义picturesInArray的情况下对其进行编译。我确信您遗漏了一些明显的内容,但如果没有看到任何代码,就很难准确地说出您犯了什么错误。您还应该在标题中发布问题的摘要。你能想象一下登录SO,首页上有50个条目都写着“我有一个问题”吗?你一定错过了实现块末尾的@end。显然,您没有显示全部代码。能给我们提供这个类的完整代码吗?或者,去除当前样本中的所有冗余变量,并尝试仅在定义picturesInArray的情况下编译它。这表示“picturesInArray未声明”#导入@interface Pictures:NSObject{NSMutableArray*picturesInArray;}@property(非原子,保留)NSMutableArray*picturesInArray-(iAction)按下图片按钮:(id)发送方@结束#导入“Pictures.h”@implementation Pictures@synthesis picturesInArray-(iAction)pictureButtonPressed:(id)发送方{if(pictureIndex>=[picturesInArray计数]| | Picture