Я использую Программирование в Objective-C 4th edition Stephen Kochan, чтобы научить себя Objective-C. Как новичок, я еще не понимаю, как отлаживать, и даже когда я копирую и вставляю код из книги в Xcode, я получаю ошибки. Это пример кода, который я получил из книги, которая не будет компилироваться:Как/где объявлять переменные экземпляра в интерфейсе, реализации, формате программы для написания кода цели-c?
#import <Foundation/Foundation.h>
//---- @interface section ----
@interface Fraction: NSObject
-(void) print;
-(void) setNumerator: (int) n;
-(void) setDenominator: (int) d;
@end
//---- @implementation section ----
@implementation Fraction {
int numerator;
int denominator;
}
-(void) print {
NSLog (@"%i/%i", numerator, denominator);
}
-(void) setNumerator: (int) n {
numerator = n;
}
-(void) setDenominator: (int) d {
denominator = d;
}
@end
//---- program section ----
int main (int argc, char * argv[]) {
@autoreleasepool {
Fraction *myFraction;
// Create an instance of a Fraction
myFraction = [Fraction alloc]; myFraction = [myFraction init];
// Set fraction to 1/3
[myFraction setNumerator: 1]; [myFraction setDenominator: 3];
// Display the fraction using the print method
NSLog (@"The value of myFraction is:");
[myFraction print];
}
return 0;
}
Ошибки я получаю являются «несовместимыми экземпляр переменной спецификация» на линии 12. После того, что он просто продолжает говорить мне, что «числитель »и« знаменатель »не обнародованы. Последняя ошибка, которую я получаю для этой программы, заключается в том, что есть «ожидаемое выражение перед токеном @» в «@autoreleasepool». Что мне нужно изменить, чтобы скомпилировать его? Благодаря!!
, где xcode версия u используется –
Я скопировал ваш код в проект Xcode 4.6.2, и он скомпилирован и работает без каких-либо предупреждений. –