Objective c 为什么我会得到一个“;在'之前分析错误@';代币;当我尝试构建这个简单的XCode项目时?
完全的新手问题。我正在从Kochan的书中学习Objective-C。当我尝试构建以下非常简单的项目时,我总是得到一个 “@”标记前的分析错误 参考Objective c 为什么我会得到一个“;在'之前分析错误@';代币;当我尝试构建这个简单的XCode项目时?,objective-c,xcode,macos,accessor,Objective C,Xcode,Macos,Accessor,完全的新手问题。我正在从Kochan的书中学习Objective-C。当我尝试构建以下非常简单的项目时,我总是得到一个 “@”标记前的分析错误 参考@属性int分子、分母语句 以下是Fraction.h文件: #import <Foundation/Foundation.h> @interface Fraction : NSObject { int numerator; int denominator; } @property int numerator, den
@属性int分子、分母语句
以下是Fraction.h文件:
#import <Foundation/Foundation.h>
@interface Fraction : NSObject
{
int numerator;
int denominator;
}
@property int numerator, denominator;
-(void) print;
-(void) setTo: (int) n over: (int) d;
-(double) convertToNum;
@end
非常感谢您能帮助我理解为什么会出现解析错误。你好,Scolfax
欢迎
看来你的问题出在
@属性int分子、分母;和
NSLog(@“%i/%i”,分子,分母) 我在Objective-C2.0上发现了这一点(但有趣的是,这并不是在Kochan的书中):“所有为Mac OS X开发的Objective-C应用程序,利用[上述]Objective-C2.0的改进,与10.5(Leopard)之前的所有操作系统都不兼容。”。谢谢大家。这对我来说绝对不错。您使用的是Xcode的古老版本吗?或者您是为OS X 10.4编译的?您是从网站或PDF复制并粘贴代码,还是使用从internet下载的源文件?我以前在非标准的“空白”字符上遇到过麻烦,这些字符愚弄了编译器。是的,我使用的是一个“古老”的版本:OSX10.4.11和XCode 2.5!这就是问题所在吗?我认为Tiger上没有@property
。Obj-C2.0 Leopard及以上不是吗?太棒了!请考虑花一点时间来补充这个解释作为答案并标记它被接受,这样这个问题不会出现在搜索中作为“未回答”。
#import "Fraction.h"
@implementation Fraction
@synthesize numerator, denominator;
-(void) print
{
NSLog(@"%i/%i", numerator, denominator);
}
-(void) setTo: (int) n over: (int) d
{
numerator = n;
denominator = d;
}
-(double) convertToNum
{
if (denominator != 0)
return (double) numerator/denominator;
else
return 1.0;
}
@end