Ho una semplice istruzione di commutazione che non è così semplice.L'operatore binario '~ =' non può essere applicato agli operandi di tipo 'String' e 'String?'
switch(bubble?.name){ //bubble is SKPhysicsBody
case "largeBubble": // <= error
newBubbleSize = "medium"
break;
default:
newBubbleSize = "large"
break;
}
Qui ho l'errore che ho citato nel titolo Binary operator '~=' cannot be applied to operands of type 'String' and 'String?'
. E non ho idea del perché sia un problema che uno di essi sia opzionale.
Opzione n. 4: 'interruttore (bolla? .name ??" sconosciuto ") {...}'. –
Certo, ma in alcuni casi eseguirai un confronto non necessario con la stringa "sconosciuto" :) Certo, probabilmente è così veloce che non importa ... – jtbandes
'bubble! .name' non ha funzionato - bene, solo in combinazione con 'some()'. Per questo motivo c'è sempre un default ... se il nome non è impostato. – Jurik