当前位置:编程学习 > wap >>

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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,