我正在阅读 Stephen Kochan 写的名为“Objective-c 编程”的书。我一直在阅读它,并且我已经将一些代码直接从书中复制到我的程序中。我遇到的唯一问题是在对象上使用 free 。我的代码如下(很抱歉将整个程序放入其中,但我是菜鸟,所以很有可能我在程序的早期做错了什么):
//
// main.m
// prog1
//
// Created by Brent Blackwood on 8/7/12.
// Copyright (c) 2012 Brent Blackwood. All rights reserved.
//
#import <stdio.h>
#import <objc/Object.h>
//------- @interface section -------
@interface Fraction: NSObject {
int numerator;
int denominator;
}
-(void) print;
-(void) setNumerator: (int) n;
-(void) setDenominator: (int) d;
@end
//------- @implementation section -------
@implementation Fraction;
-(void) print{
printf (" %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[]) {
// Create an instance of a Fraction
Fraction *myFraction = [Fraction new];
// Set fraction to 1/3
[myFraction setNumerator: 1];
[myFraction setDenominator: 3];
// Display the fraction using the print method
printf ("The value of myFraction is:");
[myFraction print];
printf ("\n");
[myFraction free]; // ************---This is the line giving the error.---***********
return 0;
}
我得到的错误是“没有可见的@interface for 'Fraction' 在“[myFraction free]”行之后声明选择器“free”;。我翻遍了这本书,无法弄清楚问题出在哪里。它没有提到这个错误。这是什么意思,我该如何解决?
在我问之前,我也在堆栈上查看了一些类似的问题,但他们的问题似乎不是我遇到的错误。请帮忙。谢谢!