objective-c合成存储器问题
书上源码,问题见注释,谢谢!!!!!
//Fraction.h
@interface Fraction: NSObject
{
int numerator;
int denominator;
}
@property int numerator, denominator;
-(void) print;
-(double) convertToNum;
@end
//Fraction.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 1.0;
}
@end
#import <Foundation/Foundation.h>
#import "Fraction.h"
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// insert code here...
Fraction *myFraction = [[Fractionalloc] init];
[Fraction numerator:100]; //这两句有问题
[Fraction denominator:200];//这两句有问题
NSLog(@"%d %d",[Fraction numerator],[Fraction denominator]); //把上面那两句注释掉可以输出结果
[pool drain];
return 0;
}
为什么无法为变量赋值?????????
objective-c 合成存储器 --------------------编程问答-------------------- 不好意注释那两行写错了,改正如下:是改正后还存在问题,也就是不能设置值!!!!!!!!!
[myFraction numerator:100]; //这两句有问题
[myFraction denominator:200];//这两句有问题 --------------------编程问答-------------------- 设置值用setNumerator、setDenominator
--------------------编程问答-------------------- myFraction. numerator = 100;
myFraction. denominator = 200;
属性的调用和赋值用点号,中括号是调用方法的:[myFraction 方法]; --------------------编程问答-------------------- myFraction. numerator = 100;
myFraction. denominator = 200;
或者[myFraction setNumerator]
[myFraction setDenominator]
补充:移动开发 , iPhone