我是Objective C的新手,也是编程方面的新手。 我正在读一本名为“Objective C for Absolute Beginner”的书,当我尝试用他们的例子练习时,我会遇到问题。
在这个例子中,我们有一些定义的方法,他们必须使用一些变量。 但是没有线来声明这些变量,我的Xcode中出现了错误。 然后我尝试在工具中声明这些变量并且它起作用。 (不再有错误)
我的问题是,这本书缺少关于声明变量还是没有必要?或者它取决于Xcode版本? 在下一个例子中的原因我再次继续遇到这种问题。
我知道这可能是一个愚蠢的问题,但我完全是新的^^。
非常感谢你。
#import "RadioStation.h"
@implementation RadioStation
+ (double)minAMFrequency {
return 520.0;
}
+ (double)maxAMFrequency {
return 1610.0;
}
+ (double)minFMFrequency {
return 88.3;
}
+ (double)maxFMFrequency {
return 107.9;
}
- (id)initWithName:(NSString *)newName atFrequency:(double)newFrequency {
self = [super init];
if (self != nil) {
name = newName;
frequency = newFrequency;
}
return self;
}
- (NSString *)name {
return name;
}
- (void)setName:(NSString *)newName {
name = newName;
}
- (double)frequency {
return frequency;
}
- (void)setFrequency:(double)newFrequency {
frequency = newFrequency;
}
@end
答案 0 :(得分:1)
从您的代码中,您似乎有四个类方法,每个名称(NSString)和频率(双)两个setter / getter。
我认为这两个属于你的RadioStation
类。
@interface RadioStation : NSObject
@property (assign) NSString *name;
@property double frequency;
@end
或者它可能是ivars:
@interface RadioStation : NSObject{
NSString *name;
double frequency;
}
@property (assign) NSString *name;
@property double frequency;
@end
或者,ivars和属性的旧式组合
@interface RadioStation : NSObject{
NSString *name;
double frequency;
}
@end
答案 1 :(得分:0)
您可以在.h或.m文件中声明变量,如下所示:
@interface MyViewController (){
NSString *string;
int integer;
}
在导入下方的文件顶部使用此代码。