Maximale Anzahl von Objekten in NSArray

7

Was ist die größte Menge an Objekten, die ich in mein NSArray legen kann?

    
Matt S. 28.01.2010, 15:08
quelle

6 Antworten

9

Die NSArray initWithCapacity-Methode verwendet einen unsigned int als Argument. Was auch immer der maximale Wert eines unsigned int auf Ihrer Plattform ist, kann das theoretische Limit sein. Das tatsächliche Limit hängt jedoch eher von der verfügbaren Speichermenge ab.

    
Tom Jefferys 28.01.2010, 15:14
quelle
10

Hast du versucht es herauszufinden? ;)

%Vor%     
Dave DeLong 28.01.2010 18:46
quelle
5

In den meisten Fällen bezüglich der Obergrenzen von Programmstrukturen und ähnlichem:
"Wenn du fragen musst, tust du es wahrscheinlich falsch" - TheDailyWTF.com

    
Chris S 28.01.2010 15:52
quelle
3

Wahrscheinlich mehr, als Ihr Arbeitsspeicher bewältigen kann.

    
Eimantas 28.01.2010 15:13
quelle
3

NSNotFound ist definiert als NSIntegerMax (dieser Wert ändert sich, wenn Sie ein 32-Bit- oder 64-Bit-System verwenden)

NSNotFound ist auch das Ergebnis, das Sie erhalten, wenn Sie ein

tun
  

[nsarray indexOfObject: obj]

und kein Objekt gefunden.

Wenn dir nicht genug Platz / Speicher zur Verfügung steht, würde ich sagen, dass dies deine Grenze wäre.

Ссылка

    
jsmp 12.04.2011 18:30
quelle
1

NSArray ist ein Container mit Zeigern auf andere Objekte. Die maximale Kapazität ist definiert durch NSUInteger (zu den neuesten Versionen der verfügbaren Betriebssysteme):

  

Beim Erstellen von 32-Bit-Anwendungen   NSUInteger ist ein 32-Bit-Zeichen ohne Vorzeichen   ganze Zahl. Eine 64-Bit-Anwendung behandelt   NSUInteger als 64-Bit unsigned   Ganzzahl

Unabhängig von der Größe von NSUInteger auf einem bestimmten Gerät gibt es daher die maximale Anzahl von Objektzeigern, die es enthalten kann. Wie Eimantas jedoch in seiner Antwort ansprach, ist dies nicht dasselbe wie "wie viele Objekte kann es halten", weil dies von verfügbarem Speicher abhängt. Möglicherweise verfügen Sie nicht über genügend verfügbaren Arbeitsspeicher, um beispielsweise ein Array mit sechs Milliarden Steckplätzen zuzuordnen ...

    
Joshua Nozzi 28.01.2010 15:47
quelle

Tags und Links