BIBI BLOG

Objective-C와 Swift 비교 : 데이터 타입, 연산자 본문

iOS

Objective-C와 Swift 비교 : 데이터 타입, 연산자

BIBI⭐️ 2022. 1. 1. 09:00
728x90

데이터 타입

기본타입

Objective-C Swift 비고
NSInteger Int  
NSUInteger UInt  
char Int8 char를 정수타입으로 사용할 경우, Int8에 해당한다
char Character 문자열에서 문자로 사용할 경우, Character에 해당한다
unsigned char UInt8  
short Int16  
unsigned short UInt16  
int Int32  
int UInt32  
long Int64  
unsigned long UInt64  
long long Int64  
unsigned long long UInt64  
float Float  
double Double  
BOOL Bool Bool은 true와 false로 사용한다. YES와NO는 쓰지않는다
ID AnyObject AnyObject는 실제로는 프로토콜이다
Class None 스위프트에는 해당 타입이 없다
IMP None 스위프트에는 해당 타입이 없다
SEL Selector 이 구조체는 셀렉터(selector)의 원문 텍스트 표현으로 반환될 수 있다
void Void Void는 빈 tuple ()에 해당하고 직접적으로는 거의 사용되지 않는다

 

연산자

▶Objective-C와 같은것

연산자 동작 연산자 동작
+ 더하기 & 비트연산 AND
- 빼기 &= 비트연산 AND 및 대입
* 곱하기 | 비트연산 OR
/ 나누기 |= 비트연산 OR 및 대입
% 나머지 연산 ^ 비트연산 XOR
= 대입 ^= 비트연산 XOR과 대입
+= 더하기와 대입 ! 논리 NOT
-= 빼기와 대입 && 논리 AND
*= 곱하기와 대입 || 논리 OR
/= 나누기와 대입 << 비트 시프트 왼쪽
< 작음 >> 비트 시프트 오른쪽
<= 작거나 같음 <<= 비트 시프트 왼쪽과 대입
> >>= 비트 시프트 오른쪽과 대입
>= 크거나 같음    

▶Objective-C와 다른것

연산자 동작 연산자 동작
== 같음 %= 나머지 연산과 대입
!= 같지않음 &&= 논리 AND과 대입
&+ 더하기 오버플로 ||= 논리 OR과 대입
&- 빼기 오버플로 . 멤버 액세스
&* 곱하기와 오버플로 무시 ?: 삼항 연산자
&/ 나누기와 오버플로 무시 ++ Swift에서 삭제됨
&% 나머지 연산과 오버플로 무시 -- Swift에서 삭제됨

▶Swift에서 새로 생긴것

연산자 동작 연산자 동작
~ 비트 NOT as 타입 캐스트
..< 반 폐쇄 범위 as? 옵셔널 타입 캐스트
... 폐쇄 범위 === 일치
? 옵셔널 체이닝 !== 불일치
! 강제 추출 ~= 패턴 일치
?? nil 결합 [] 첨자
is 타입 비교 []= 첨자 할당

 

728x90
Comments