0

NSMutableArray架空の株式市場の持ち株に基づいて、オブジェクトで満たされたクラスを作成しようとしています。これは、単純にNSMutableArray.

NSMutableArray *portfolio = [NSMutableArray arrayWithObjects: ABC, DEF, GHI, JKL, nil];

Portfoliobasedという名前のクラスを作成し、NSMutableArrayへの参照をNSMutableArrayに変更すると、次のようになりPortfolioます。

Portfolio *portfolio = [Portfolio arrayWithObjects: ABC, DEF, GHI, JKL, nil];

XCode は Thread 1: signal SIGABRT エラーをスローします。Portfolioクラスが のサブクラスであるため、エラーの原因を考えることはできませんでした。NSMutableArray新しいクラスを作成する以外に何もしない場合、それは本質的NSMutableArrayに別の名前であり、追加のメソッドや属性はありません。

どんな助けでも大歓迎です。

4

2 に答える 2

0

NSMutableArrayサブクラス化できる真のクラスではありません。これは実際には、効果的に抽象化するクラス クラスターの一部です。クラス クラスタ クラスのサブクラスを作成できますが、いくつかの作業を行う必要があります。インスタンスのラッパーとしてクラスを作成しNSMutableArray、適切なメソッドを明示的に提供する方がはるかに簡単です。

于 2013-06-25T21:10:50.130 に答える