난과 같이 할 수 임시 값을 사용하지 않고 2 개 객체를 교환하려고했는데 :Swift 런타임은 튜플을 어떻게 처리합니까?
var a = "Hello, "
var b = "world!"
(a,b) = (b,a)
a // "world!"
b // "Hello, "
사람이 언어가이 일을하는 방법을 알고 있나요을, 두 번째 튜플 (B, A) 저장 메모리에서 첫 번째가 스스로를 재 할당 할 수 있도록하거나, 참조를 변경하여 모든 작업을 수행합니까? 사전에
감사
그것은 안전하고 안정적으로 그래서 당신이 무슨 상관입니까? 정말로 걱정된다면,'swap' 전역 함수를 사용하십시오. 하지만 튜플 스왑에 아무런 문제가 없었습니다. 그것은 루비와 같습니다. – matt
** ** '문자열'과 같은 값 유형에 대한 참조를 전환하지 않습니다 **. – akashivskyy
스위치를 추가하기 전에'NSLog ("% p % p", a, b)'** ** 전후에 **를 추가하여 이것을 확인할 수 있습니다. – akashivskyy