-4

Objective-C Classof 型を作成したいのですがNSArray、初期化する方法やデータを追加する方法がわかりません。

私は次のことをしました:

1- 新しいファイルを作成する

ここに画像の説明を入力

2-私が選んだObjective-C Classここに画像の説明を入力

3-私はSubclass ofのタイプを選択しましたNSArray ここに画像の説明を入力

2 つのファイルが表示されます。

.h:

#import <Foundation/Foundation.h>

@interface ArrayClass : NSArray

@end

.m

#import "ArrayClass.h"

@implementation ArrayClass

@end

私の質問は次のとおりです。次のステップは何ですか。

1- このクラスで呼び出すメソッド。

2-配列を初期化する方法。

3--(id)initそれで十分です

EDIT: パーサーがあり、別のXMLリンクで別のパーサーを初期化する必要があるため、型ViewControllerを持つ新しいクラスが必要ですNSArray

前もって感謝します。

4

4 に答える 4

2

誰かがそれを述べているように、私はこれを投稿するつもりです。

NSArray はクラス クラスタであり、内部実装のラッパーです。内部の詳細は、配列の内容とサイズに応じて変化するため、パフォーマンスが最適化されます。このため、NSArray (または NSDictionary) をサブクラス化することはお勧めできません。

カテゴリを追加してクラスを拡張できると思います。これは、機能を追加するためのより優れた「ココア」の方法です。Apple 開発者ドキュメントには、これを支援する設計パターンに関するガイドがいくつかあります。

あなたが実際にそれをサブクラス化したいのか、単に作成したいのかについて混乱しているので、質問をもう一度言い直すかもしれません。

于 2013-03-20T11:55:24.173 に答える
0

単にこれを使用しようとしている場合は、次のようNSArrayにします。

NSArray  *myArray = [NSArray arrayWithObjects:@"foo",@"bar",@"baz",nil];

実際の構造を変更して拡張したい場合を除き、現在行っていることを行う必要はありませんNSArray

于 2013-03-20T11:49:35.633 に答える
0

本当に拡張しようとしている場合は、この回答を確認してくださいNSArray

NSArray の機能を拡張するつもりがない場合は、おそらく NSArray の作成とインスタンスを探しているでしょう。これはNSArray *arrayName = [[NSArray alloc] init]、配列が必要な領域内に移動するのと同じくらい簡単です。

于 2013-03-20T11:50:25.633 に答える
0

または、データを動的に追加できる配列が必要な場合は、必要になります

NSMutableArray *arr = [[NSMutableArray alloc] init];

それはすべてあなたが望むものに依存します。

于 2013-03-20T12:02:55.230 に答える