Ich habe + = zu einer UIView zu einem Array verwendet, und das scheint nicht mehr zu funktionieren. Die Zeile
%Vor%Liefert einen Fehler '[(UIView)]' ist nicht identisch mit 'UInt8'
Hier ist ein Teil der Methode. Beachten Sie, dass hitTest ab Xcode 6 beta 5 nun optional zurückgibt, also war es notwendig,
zu sagen %Vor%statt
%Vor%in der 'if' Anweisung.
%Vor%... Rest der Methode entfällt
Das hat sich in der letzten Version geändert. Aus den Beta 5 Release Notes:
Der Operator
+=
für Arrays verkettet nur Arrays, er hängt kein Element an. Dies löst Mehrdeutigkeiten, die mitAny
,AnyObject
und verwandten Typen arbeiten.
Wenn also die linke Seite von +=
ein Array ist, muss das jetzt auch richtig sein.
so:
%Vor% Oder wenn Sie wirklich +=
verwenden möchten, könnten Sie wahrscheinlich Folgendes tun:
Aber das wäre ein bisschen albern. Verwenden Sie append
wie die Fehlermeldung suggeriert.
Die Lösung scheint zu sein, dass Sie die Append-Methode für das Array anstelle von + = verwenden müssen. Ich kenne den Grund dafür nicht, daher könnte eine andere Antwort geeigneter sein.
Anstelle von
%Vor%verwenden
%Vor%Beachten Sie, dass die UIView, die von hitTest zurückgegeben wurde, optional ab Xcode 6 Beta 5 ist.
Ich habe überprüft, dass dies ein allgemeines Problem mit Arrays mit dem folgenden Spielplatzbeispiel ist. Ein Fehlerbericht wurde an Apple gesendet.
%Vor%Es gibt eine zusätzliche Komplexität, wenn Sie versuchen, ein Tupel und vielleicht andere Typen anzuhängen.
%Vor%Das verdient wahrscheinlich eine eigene Frage, obwohl ich denke, dass es nur ein weiterer Fehler ist, also habe ich es wieder bei Apple veröffentlicht.