0

StockHoldings 用と Portfolio (配列) 用の 2 つのクラスを作成しました。メインで値を作成し、作成した株式値をポートフォリオに追加しようとしていますが、そうすると「互換性のないポインター タイプが送信されます...」というメッセージが表示されます。

これは私が主に持っているものです:

Portfolio *thisPortfolio = [[Portfolio alloc] init];

[thisPortfolio addPortfolioObject:[stockOne valueInDollars]];

株式保有のインスタンス変数に基づいて株式の価値を計算する方法である [stockOne valueInDollars] の代わりに整数を入れようとしても、「「int」から「Portfolio」への暗黙の変換... "

これは、Portfolio.h ファイルにあるものです。

@interface Portfolio : NSObject
{
    NSMutableArray *myPortfolio;
}

- (void)addPortfolioObject:(Portfolio *)a;

そして、これは私が Portolfio.m ファイルに持っているものです:

- (void)addPortfolioObject:(Portfolio *)a
{
    // Is assets nil?
    if (!myPortfolio) {

        // Create the array
        myPortfolio = [[NSMutableArray alloc] init];

    }
    [myPortfolio addObject:a];
}

私は何を間違っていますか?

4

1 に答える 1

1

のインターフェースでは、実際、整数ではなくオブジェクトが期待されるようにPortfolioの署名を宣言します。署名は、インターフェースと実装の両方で変更する必要があります。後者は、代わりに基本タイプである間しか保存できないため、usingでラップする必要があります。addPortfolioObjectPortfolio(void)addPortfolioObject:(int)aaNSNumbernumberWithIntNSArrayNSObjectsint

于 2013-01-18T08:00:06.790 に答える