クラスの操作に問題があります。NSObject のサブクラスである「StockHolding」オブジェクトを作成する必要があります。インスタンス変数とメソッドを作成します。次に、名前と価格を含む株式保有の 3 つの反復を作成し、それらを変更可能な配列に読み込みます。配列内のオブジェクトをすばやく列挙し、それぞれのプロパティ (価格) を出力するのが困難です。問題は、オブジェクトを列挙してプロパティを出力しようとするとエラーが発生することです。私は運がない問題を解決するいくつかの異なる方法を試しました。何か案は?また、 currentStock が名前ではなくポインターの位置を出力していることにも気付きました。おそらく、これらの問題は関連しています。前もって感謝します。
'ヘッダ'
#import <Foundation/Foundation.h>
@interface StockHolding : NSObject
{
float fPurchaseSharePrice;
float fCurrentSharePrice;
int iNumberOfShares;
}
@property float fPurchaseSharePrice;
@property float fCurrentSharePrice;
@property int iNumberOfShares;
-(float) fCostInDollars; //fPurchaseSharePrice * fNumberOfShares
-(float) fValueInDollars; //fCurrentSharePrice * fNumberOfShares
@end
'実装'
#import "StockHolding.h"
@implementation StockHolding
@synthesize fCurrentSharePrice, fPurchaseSharePrice, iNumberOfShares;
-(float)fCostInDollars; //fPurchaseSharePrice * iNumberOfShares
{
return (fPurchaseSharePrice * iNumberOfShares);
}
-(float)fValueInDollars; //fCurrentSharePrice * iNumberOfShares
{
return (fCurrentSharePrice * iNumberOfShares);
}
@end
'主要'
int main(int argc, const char * argv[])
{
@autoreleasepool {
StockHolding *Apple = [[StockHolding alloc] init];
[Apple setFPurchaseSharePrice:225];
[Apple setFCurrentSharePrice:300];
[Apple setINumberOfShares:50];
StockHolding *Cisco = [[StockHolding alloc] init];
[Cisco setFPurchaseSharePrice:100];
[Cisco setFCurrentSharePrice:50];
[Cisco setINumberOfShares:75];
StockHolding *WalMart = [[StockHolding alloc] init];
[WalMart setFPurchaseSharePrice:75];
[WalMart setFCurrentSharePrice:150];
[WalMart setINumberOfShares:75];
NSMutableArray *Portfolio = [NSArray arrayWithObjects: Apple, Cisco, WalMart, nil];
for (NSObject *currentStock in Portfolio){
NSLog(@"Purchase Price: %@", currentStock );
NSLog(@"Details: %f", [currentStock FPurchaseSharePrice]); // <---Error is on this line. It says "No visible @interface for NSObject declares the selector fPurchaseSharePrice"
}
}
return 0;
}