Na przykład podczas przekazywania value
wiadomości do takiej NSInteger
instancji
[a value]
powoduje to EXC_BAD_ACCESS.
Jak więc przekonwertować NSInteger
na int
?
Jeśli ma to znaczenie, używane są tylko małe liczby <32.
objective-c
cocoa
nsinteger
Jeffrey
źródło
źródło
Odpowiedzi:
Ta da:
NSInteger
to nic innego jak 32/64 bitowe int. (użyje odpowiedniego rozmiaru w zależności od używanego systemu operacyjnego / platformy)źródło
Jeśli chcesz to zrobić w tekście, po prostu prześlij
NSUInteger
lubNSInteger
doint
:źródło
NSInteger
wartości zamiastint
. W żadnym przypadku nie jest to rozwiązanie wieloliniowe.Nie jestem pewien co do okoliczności, w których trzeba zamienić rozszerzenie
NSInteger
naint
.NSInteger to po prostu nazwa typu:
NSInteger Używany do opisywania liczby całkowitej niezależnie od tego, czy tworzysz dla systemu 32-bitowego czy 64-bitowego.
Możesz użyć
NSInteger
dowolnego miejsca, którego używasz,int
bez jego konwersji.źródło
Powszechnie używany w UIsegmentedControl, "błąd" pojawia się podczas kompilacji w 64-bitowej zamiast 32-bitowej. Łatwym sposobem na nieprzekazanie go do nowej zmiennej jest skorzystanie z tych wskazówek, dodaj (int) :
zamiast :
źródło