答えて
NSStringのインデックスとサイズに関連するメソッドはNSUIntegerを返すので、NSStringのハード制限はNSUIntegerMax文字であると仮定します。現在iOSを実行できるすべてのデバイスは32ビットなので、NSUIntegerMaxは2^32-1でNSStringは42億文字を少し超えることができます。
他の人が指摘しているように、実用的な制限ははるかに小さくなっています。特に、iOSデバイスでは、NSStringのハード制限を超える前にメモリが不足しています。
+1を付けました。しかし、これは1文字= 1バイトと仮定しているという点で欠陥がある。 –
'NSUIntegerMax' _plus_' 1'にすることはできません。 'length'は、範囲の一端または他のところで正しい値を返すことができません。 –
@pst - 私は慎重にしようとし、バイトではなく文字のみを参照しようとしました。 @Josh - あなたは正しいです。私は私の答えを編集します。 –
NSString
は実際クラスクラスターなので、さまざまな具体的なクラス(たとえば、NSString
対NSMutableString
)は、データを格納するためのさまざまな「バッキングストア」を作成する可能性が高くなります。 NSString
をサブクラス化し、特定のニーズに応じて独自のバッキングストア実装を提供することもできます("Subclassing Notes" for NSString参照)。
NSString
によって実際にバッキングストアが使用されているかどうかは、Appleによって記載されていない実装の詳細であり、いつでも変更することができます。
自分では、NSString
の最大長は使用可能なメモリによってのみ制限されると仮定します。実際には、使用可能なメモリは実際には巨大なものになる可能性があるため、その他の制限(パフォーマンスに関連するものかもしれません)がありますが、このような制限はありません。
lengthプロパティはNSUIntegerなので、可能な限り最大のクラスクラスターに関係なくです。また、初期化中にNSDataオブジェクトを受け取ります。このオブジェクトには、lengthプロパティのNSUIntegerもあります。 NSUIntegerはiOSでは32ビット、OS Xでは64ビットです。OS Xでは4GBを超えるストリングで正常に動作しました。 –
仮想メモリシステムで表現できるほどのメモリを保持できます。しかし、私は個人的には、最大長はその時に利用可能なメモリに制限されていると感じています。
- 1. loadrunnerのパラメータの最大長はどれくらいですか?
- 2. elasticsearchのキーワードタイプの最大長はどれくらいですか?
- 3. RのURLの最大長はどれくらいですか?
- 4. mongodbクエリの最大長はどれくらいですか?
- 5. ENUM値の最大長はどれくらいですか?
- 6. iPadアプリ名の最大長はどれくらいですか?
- 7. memcachedの最大鍵長と最大サイズはどれくらいですか?
- 8. ブラウザのURLの最大長はどのくらいですか?
- 9. codeigniterの最大URI長はどのくらいですか?
- 10. Facebookの名前の最大長はどれくらいですか?
- 11. Pythonの属性名の最大長はどれくらいですか?
- 12. csvファイルの列の最大長はどれくらいですか?
- 13. HTML IDの実際の最大長はどれくらいですか?
- 14. プロセスのPIDの最大可能長はどれくらいですか? (64ビット)
- 15. 緯度と経度の最大長はどれくらいですか?
- 16. Firebaseのユーザプロパティ値の最大長はいくらですか?
- 17. YouTube APIの最大HTTP GETリクエストの長さはどのくらいですか?
- 18. AWS API Gatewayのエラーメッセージの最大長はどのくらいですか?
- 19. android element idの最大許容長はどのくらいですか?
- 20. bing speehからtext apiに送信される最大オーディオファイルの長さはどれくらいですか?
- 21. Javaコールスタックの最大深度はどれくらいですか?
- 22. plistの最大容量はどれくらいですか?
- 23. lokijs.jsの最大ストージサイズはどれくらいですか?
- 24. MATLABの最大ボーレートはどれくらいですか?
- 25. webRTCデータチャネルメッセージの最大サイズはどれくらいですか?
- 26. SockJSメッセージの最大サイズはどれくらいですか?
- 27. これらの各ケースでの最大ファイルサイズはどれくらいですか?
- 28. 最長リピートシーケンスではなく最大リピートシーケンス
- 29. 8086のセグメントの最大サイズと最小サイズはどれくらいですか?
- 30. HDF5のオブジェクト名の最大長は?
多くを保持することができます。どうして? –
投稿を編集しました。私はちょうど "動的に"意味されていたか分からなかったので、最後の質問は現在の意図を反映していないかもしれません。 –
これは、iPhoneやiPadで利用可能なRAMよりもはるかに多くを保持できます。言い換えれば、現在のiOSデバイスではNSStringの制限を超えることはできませんが、メモリが足りなくなる可能性があります。 – Costique