2016-04-13 12 views
0

Ich überprüfe die Klasse, Methoden und iVars ... alles ist da, aber ich kann sie nicht verwenden.Zuweisen eines Werts zu einem iVar eines Objekts innerhalb eines Arrays

Ich möchte ein UIScrollView mit einer benutzerdefinierten Anzahl von Datenfeldern (wie 'Contants' App). Also lade ich sie in ein Array und lege sie in die Bildlaufansicht.

Allerdings kann ich die Methoden nicht aufrufen. Ich möchte eine Art von Strebe verwenden (array, dict, etc ...)

ich das versucht:

textView1 = dataArray[i]; 
textView1.text = @"######### Here I am ##########"; 

Aber das scheint nicht innerhalb des Arrays im Objekt zu speichern. Ich dachte, das Array gespeichert einen Zeiger auf das Objekt und TextView1 wäre ein Zeiger auf das Objekt, so dass es den Wert von "Text" auf das gleiche Objekt speichern sollte.

Antwort

1

Was Sie versucht haben, scheint ein bisschen zu mir unklar, aber dies sollte funktionieren:

NSMutableArray *dataArray = [NSMutableArray array]; 
for (int i = 0; i<5; i++){ 
    UITextView *t = [UITextView new]; 
    [dataArray addObject:t]; 
    t.text = @"here"; 
} 
+0

Ich versuche, eine Liste von Textfield und Etiketten zu laden, so dass ich sie von einem Datenspeicher in ein Datum laden Einstiegsseite, die scrollt. Ich benutze das Array, weil sich die Anzahl der textFields ändert. Der Zeiger 't' wird nicht angezeigt, wenn er verarbeitet wird. Dies ist wie die App "Kontakte" vom iPhone, auf der Sie viele Felder zur Eingabe von Daten haben. – KarlJay

+0

oh ist dein code oben nur ein beispiel? – Fonix

+0

Nun, das Gesamtproblem ist 'dataArray [i] .text =" here ";' Da NSArrays nur Objekte vom Typ NSObject speichern, gibt Ihnen 'dataArray [i] 'ein NSObject zurück, das keine .text -Eigenschaft hat. Sie müssen zuerst dataArray [i] in ein UITextField umwandeln und dann auf den .text (der in der Duplikatfrage erklärt wird) zugreifen. – Fonix