0

私は単語を読むアプリを開発しています。単語は段落から取得されます。NSArray のサイズを見つけるのに役立つように、NSArray の範囲に最大の単語を格納する必要があります。

 NSString *string=@"Some people say that Apple will fit an A5 chip in iphone5 with a clocking speed in range of 1.2 0r 1.5 GHz with 1 GB Ram. It is also anticipated that it will b fire proof phone.  ";
    NSArray *piecesOfOriginalString = [string componentsSeparatedByString:@" "];
    NSLog(@"%i",piecesOfOriginalString.count);

私の簡単な例です。

ここで、問題は配列の最大許容サイズを見つける方法です???

4

4 に答える 4

4

理論的には、NSArrayの最大サイズは、その-countメソッドのタイプである。によって示されNSUIntegerます。iOSの場合、これはに相当するunsigned longため、最大数は4,294,967,295です。

実際には、デバイスのメモリと配列内のオブジェクトのサイズによって制限されます。

于 2012-10-11T05:08:30.760 に答える
1

サイズを細かくしたい場合は、
http://lapcatsoftware.com/blog/2006/10/10/filling-an-nsmutablearray/

次に、これを1回読んでください

NSArray 内のオブジェクトの最大数

32 ビット システムか 64 ビット システムかによって、4 または 8 になります。

于 2012-10-11T06:01:08.163 に答える
0

「この配列にはいくつの要素がありますか」という質問の場合、記述した内容は正常に機能するはずです(ただし、「count」プロパティはNSUIntegerを返すため、%iではなく%li文字列形式指定子を使用する必要があります) :

NSLog(@"%li",piecesOfOriginalString.count);

「NSArrayに追加できる要素の最大数はいくつですか」という質問の場合、その質問はここで説明されています:NSArray内のオブジェクトの最大数

于 2012-10-11T05:09:02.933 に答える
0

最大配列サイズなどはないと思います。実行ポイントでの空きRAMと配列の内容によって制限されます。代わりに可変配列 (NSMutableArray) が必要になる場合があります。

最大インデックス値はホスト コンピューターのハードウェアと OS によって異なりますが、通常は少なくとも 2^32-1、つまり 4_294_967_295 です。奇妙な人が署名付きインデックスを使用すると、2_147_483_647 である 2^31-1 になることがあります。通常、配列項目が動的メモリに割り当てられることを考えると、RAM が収まる範囲をはるかに超えているため、気にしないでください ;)

于 2012-10-11T05:16:36.630 に答える