Stworzyłem więc NSMutableArray i umieściłem w nim UISlider. Z jakiegoś powodu jednak za każdym razem, gdy próbuję uzyskać jego wartość, tj.
[[sliderArray objectAtIndex:index] value];
pojawia się jako NSString *, ale kiedy próbuję
[slider value];
wychodzi jako pływak. Wiesz, dlaczego to może być?
Odpowiedzi:
2 dla odpowiedzi № 1Problem polega na tym, że kompilator nie wie, jakiego rodzaju obiekt zostanie pobrany podczas jego używania objectAtIndex
. Musisz typować rzutowany obiekt, aby wiedział, że mówisz o UISlider
.
[(UISlider *)[sliderArray objectAtIndex:index] value];
0 dla odpowiedzi nr 2
Spróbuj tego:
UISlider *slider = [sliderArray objectAtIndex:index];
[slider value];
0 dla odpowiedzi № 3
Pobierz UISlider z tablicy:
UISlider *slider = [sliderArray objectAtIndex:index];
[slider value];
lub rzuć to
[(UISlider *)sliderArray[index] value];
0 dla odpowiedzi nr 4
Spróbuj w ten sposób
UISlider *slider = (UISlider *)[sliderArray objectAtIndex:index];
[slider value];