下面是简单的代码。它正在工作,但缺少一个值。我张贴了代码。请帮帮我。
#import <Foundation/Foundation.h>
@interface StockHolding : NSObject
{
//declear 3 instance varriable
float purchaseSharePrice;
float currentSharePrice;
int numberOfShares;
}
@property float purchaseSahrePrice;
@property float currentSharePrice;
@property int numberOfShares;
-(float)costInDollars;
-(float)valueInDollars;
@end
这是点m文件
#import "StockHolding.h"
@implementation StockHolding
@synthesize currentSharePrice,purchaseSahrePrice;
@synthesize numberOfShares;
-(float)valueInDollars
{
return currentSharePrice *numberOfShares;
}
-(float)costInDollars
{
return purchaseSharePrice *numberOfShares;
}
@结束
这是主文件
#import <Foundation/Foundation.h>
#import "StockHolding.h"
int main (int argc, const char * argv[])
{
@autoreleasepool {
StockHolding *yahoo = [[StockHolding alloc] init];
StockHolding *google =[[StockHolding alloc] init];
StockHolding *apple = [[StockHolding alloc] init];
//NSMutableArray *stockList = [NSMutableArray array];
[yahoo setPurchaseSahrePrice:4.50];
[yahoo setCurrentSharePrice:2.30];
[yahoo setNumberOfShares:40];
// [stockList addObject:yahoo];
[google setPurchaseSahrePrice:12.19];
[google setCurrentSharePrice:10.56];
[google setNumberOfShares:90 ];
// [stockList addObject:google];
[apple setPurchaseSahrePrice:45.51];
[apple setCurrentSharePrice:49.51];
[apple setNumberOfShares:210];
// [stockList addObject:apple];
// using an array with objects
NSMutableArray *stockList = [NSMutableArray arrayWithObjects:yahoo,google,apple, nil];
//call the methods
for(StockHolding *n in stockList)
{
//Call the methods
float cost = [n costInDollars];
float value = [n valueInDollars];
NSLog(@"Bought stock for $%.2f, It is now at $%.2f, I have %d shares, They cost me $%.2f, Now they are worth $%.2f",
[n purchaseSahrePrice],[n currentSharePrice],[n numberOfShares],cost,value);
}
}
return 0;
}
这是一个问题,该代码正在运行,但缺少一个值,即成本。
感谢
本。
谨致问候。
2012-03-06 20:42:59.160 Stocks[1761:707] Bought stock for $4.50, It is now at $2.30, I have 40 shares, They cost me $0.00, Now they are worth $92.00
2012-03-06 20:42:59.162 Stocks[1761:707] Bought stock for $12.19, It is now at $10.56, I have 90 shares, They cost me $0.00, Now they are worth $950.40
2012-03-06 20:42:59.163 Stocks[1761:707] Bought stock for $45.51, It is now at $49.51, I have 210 shares, They cost me $0.00, Now they are worth $10397.10
似乎是一个拼写错误:
您调用称为purchaseSahrePrice的属性设置器:[apple setPurchaseSaherPrice:45.51];
但是在获取成本的方法中,您使用了名为purchaseSharePrice的实例变量。该属性应该被重命名为purchaseSharePrice,它应该可以工作。
您在上面的代码中有一个拼写错误:purchaseSahrePrice在@synthesis行
您拼错了"share":
purchaseSahrePrice
此外,您的内存泄漏;您需要autorelease
您分配的对象。