1

クラスNSObjectのすべてのメソッドとインスタンス変数を持つStockHoldingという新しいクラスを定義しました。3 つのインスタンス変数を追加しました。

@interface StockHolding : NSObject
{
    float purchaseSharePrice;
    float currentSharePrice;
    int numberOfShares;
}

また、インスタンスメソッドを追加しました

- (void)setPurchaseSharePrice:(float)p;
- (void)setCurrentSharePrice:(float)c;
- (void)setNumberOfShares:(int)n;

main.mファイルで、クラスのインスタンスを作成しまし

StockHolding *stock = [[StockHolding alloc] init];

変数を作成してオブジェクトを作成したい

StockHolding *a = [stock setPurchaseSharePrice:2.30 setCurrentSharePrice:4.50 setNumberOfShares:40];

しかし受信エラー

「StockHolding」の目に見える @interface ではセレクター「setPurchaseSharePrice:setCurrentSharePrice:setNumberOfShares:」が宣言されていません

私が間違っているのは何ですか?または、継承されたインスタンスの適切な使用方法ではありません。

私は例を見ました:

NSCalendar *cal = [NSCalendar currentCalendar];
NSUInteger day = [cal ordinalityOfUnit:NSDayCalendarUnit
                                inUnit:NSMonthCalendarUnit
                               forDate:now];

またはこれは動作しませんか?

4

3 に答える 3

0

3 つの異なるメッセージを作成する代わりに、次のように 1 つのメッセージのみを作成できます -

- (void)setPurchaseSharePrice:(float)p setCurrentSharePrice:(float)c setNumberOfShares:(int)n;

すると、簡単に呼び出すことができます。ここに示した例NSCalendarは、単一のメッセージと同じです-

- (NSUInteger)ordinalityOfUnit:(NSCalendarUnit)smaller inUnit:(NSCalendarUnit)larger forDate:(NSDate *)date
于 2013-07-17T10:46:51.980 に答える