0

Obj-C 新手;报名参加一个班自学。我有以下用于练习的工作代码,但现在必须删除 @synthesize 并修改程序以处理编译器赋予实例变量的新名称。尝试了很多东西;由于不知道 @synthesize 如何完全实现以及删除它意味着什么,因此总是会出现编译器错误。感谢您的任何解释,所以。

主文件

#import "Fraction.h"

int main(int argc, const char * argv[])
{

    @autoreleasepool {
        Fraction *aFraction = [[Fraction alloc] init];

        [aFraction setTo: 100 over: 200];
        [aFraction print];

        [aFraction setTo: 1 over: 3];
        [aFraction print];

    }
    return 0;
}

分数.h

#import <Foundation/Foundation.h>

@interface Fraction : NSObject

@property int numerator, denominator;

-(void)     print;
-(void)     setTo: (int) n over: (int) d;
-(double)   convertToNum;

@end

分数.m

#import "Fraction.h"

@implementation Fraction

@synthesize numerator, denominator;

-(void) print {
    NSLog(@"%i/%i", numerator, denominator);
}

-(double) convertToNum {
    if (denominator != 0) return (double) numerator / denominator;
    else return NAN;
}

-(void) setTo: (int) n over: (int) d {
    numerator = n;
    denominator = d;
}
@end
4

0 回答 0