2016-10-19 16 views
0

Im Fall, wenn wir alle Zellen in einem TableView in ein Array aufnehmen und durchlaufen Sie es durch Klicken auf Elemente. Ich suche eine schnelle Lösung.Gibt es eine Möglichkeit, die Anzahl der Zellen in einer Tabellenansicht zu erhalten?

+0

Mein Szenario war dies - angenommen, Sie haben eine Tabellenansicht mit 100 Suchergebnissen, und alle von ihnen haben "Kontextmenü" mit der gleichen AX.id, ist es ratsam, alle Zellen in einem Array und dann mit zu nehmen differenzierendes Element Tippen Sie auf ein Kontextmenü in einer Zelle –

Antwort

1

Wenn jede Zelle einen differenzierenden Faktor hat, dann erhalten Sie diese in einem Array. Um die Textstrings zu verwenden, muss ich zuerst die Zellen erfassen. Das führt zu - wie man die Anzahl der Zellen zählt und nachdem man die Zellen in die Hand genommen hat, bohrt um zu sehen, ob dies der Text ist, dann öffne das Kontextmenü, sonst tu etwas.

Folgendes können Sie tun: Verwenden Sie weiterhin 'atIndex:' auf den Zellen. Verwenden Sie selectElementWithMatcher :: withError. Wiederholen Sie den Durchlauf bis Sie einen indexOutOfBoundsError gefunden haben und dann sollten Sie den Text haben.

Aber mit der Schleife mit atIndex :, sollten Sie die Zellen haben, die Sie wollen. Und das Gleiche zu tun, siehe unten:

for (int i = 0; i < someLargeValue; i++) { 
EarlGrey.selectElementWithMatcher(grey_accessibilityID("abc")).atIndex(i) 
} 

-> Ok und für den Wert von „someLargeValue“ bekommen, verwenden selectElementWithMatcher :: withError. Wiederholen Sie den Durchlauf bis Sie einen indexOutOfBoundsError gefunden haben und dann sollten Sie den Text haben.

Verwandte Themen