2017-09-27 2 views
1

Drehen zu Swift 4 gelöst wird, gibt einen Fehler „Ausdruck zu komplex war in angemessener Zeit gelöst wird, betrachtet den Ausdruck in verschiedene Unterausdrücke Zerschlagung“Swift 4 - Ausdruck zu komplex war in angemessener Zeit

let value = 
    Int(topLeft.hashValue) | 
    Int(topRight.hashValue) << 1 | 
    Int(bottomLeft.hashValue) << 2 | 
    Int(bottomRight.hashValue) << 3 

enter image description here

+2

tun sie es Stück für Stück? 'let Wert = Int (topLeft.hashValue); Wert = Wert | Int (topRight.hashValue) << 1; 'usw.? – Larme

+0

'hashValue' ist schon ein' Int' Sie brauchen nicht die 'Int (...)' Konvertierungen – JeremyP

+0

Danke für die Hilfe, alles funktioniert nun so wie es sollte –

Antwort

1
var value = topLeft.hashValue 
    value = value | topRight.hashValue << 1 
    value = value | bottomLeft.hashValue << 2 
    value = value | bottomRight.hashValue << 3 
+2

Sie können auch das In-place '| =' verwenden Operator, zB 'Wert | = topRight.hashValue << 1 ' – Hamish

Verwandte Themen