Swift 에러 정리
swift
1. Cannot assign to value: 'temp' is a 'let' constant
=> let으로 만든 변수에 값을 변경시키려할때 발생하는 오류
=> let으로 만든 변수는 값을 변경시킬 수 없고, var로 만든 변수는 값의 변경이 가능
2. Binary operator '+' cannot be applied to operands of type 'Int' and 'Int32'
=> swift는 자료형이 다른 연산을 허가하지 않음
=> 같은 정수형이라도 Int와 Int32의 연산은 불가
=> as를 사용하는 등의 형변환작업을 통해 변환 후, 연산
3. error: Execution was interrupted, reason: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0).
=> 해당 자료형을 넘어서는 값을 입력한 경우 발생하는 예외(ex - Overflow)
=> 예시
//Int8은 음수를 포함하여 저장
//-128~+127까지만 저장 가능
var n1 : Int8 = 120
var n2 : Int8 = 8
//print(n1+n2); //예외발생
//Overflow가 발생하더라도 연산을 수행
var result : Int8 = n1 &+ n2
print(result); //출력값 : -128
4. Use of unresolved operator '++'; did you mean '+= 1'?
=> swift3부터는 증감연산자를 사용할 수 없음
=> ++ -> +=1 or -- -> -=1 로 바꾸어야 함
5. Fatal error: Division by zero
=> 0으로 나눗셈을 하는 경우 발생
6. 'nil' requires a contextual type
=> swift에서는 일반 자료형 변수에 nil 대입 불가
=> 사용하려는 경우 자료형 뒤에 ? 추가
7. Cannot convert value of type 'Any' to expected argument type 'Int'
=> Any의 값을 Int와 연산하는 경우 발생
=> Any는 Java의 Object와 같이 모든 형의 자료형 데이터를 넣을 수 있지만, 사용시에는 강제 형변환 하여 사용해야 함