-
Objective-C 기본 문법 정리하기기타 2022. 12. 9. 23:43
- 객체 지향 언어 (Object-oriented)
- 확장자는 .h와 .m (interface와 implementation)
- #import로 라이브러리를 가져올 수 있다.
- NSLog로 출력할 수 있다.
- 문자열 앞에는 @를 붙인다.
- 문자열 타입은 NSString을 사용한다.
- BOOL값은 YES 또는 NO이다. (true, false가 아니다)
- XCode를 통해서 코드를 빌드, 실행할 수 있다.
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSString *str = @"Test print"; NSLog(@"%@", str); NSLog(@"%d", 1000); } return 0; }- @interface와 @implementation
- interface로 선언하고 실제 구현은 implementation에서 이루어진다.
#import <Foundation/Foundation.h> @interface Tire : NSObject @end @implementation Tire - (NSString *) description { return (@"Car Tire !!!"); } @end @interface Engine : NSObject @end @implementation Engine - (NSString *) description { return (@"Car Engine"); } @end @interface Car : NSObject { Engine *engine; Tire *tires[4]; } - (void) print; - (NSString *) getTireByIndex: (int) index; @end @implementation Car - (id) init { if(self = [super init]) { engine = [Engine new]; tires[0] = [Tire new]; tires[1] = [Tire new]; tires[2] = [Tire new]; tires[3] = [Tire new]; } return self; } - (void) print { NSLog(@"%@ 1", engine); NSLog(@"%@ 2", tires[0]); NSLog(@"%@ 3", tires[1]); NSLog(@"%@ 4", tires[2]); NSLog(@"%@ 5", tires[3]); } - (Tire *) getTireByIndex:(int)index { return tires[index]; } @end int main(int argc, const char * argv[]) { @autoreleasepool { NSString *str = @"Test print"; NSLog(@"%@", str); NSLog(@"%d", 1000); Car *car = [Car new]; [car print]; NSString *tire = [car getTireByIndex: 1]; NSLog(@"tire index 1 : %@", tire); return (0); } return 0; }- 콜렉션 클래스의 종류로 NSArray, NSDictionary, NSSet 등이 있다.
NSArray *arr = @[@"apple", @"banana", @"cocoa"]; // Enumeration for(id str in arr) { NSLog(@"log %@", str); } // 변수 사용 for(int i = 0; i < [arr count]; i++) { NSString *str = [arr objectAtIndex:i]; NSLog(@"element: %@", str); }NSDictionary는 key-value형태로 값을 저장한다.
NSDictionary *person = @{@"name": @"gildong", @"age": 35, @"familyName": @"Hong"}; id name = person[@"name"]; [person setObject:@"Park" forKey:@"familyName"]; id Fname = person[@"familyName"]; // Park [person removeObjectForKey:@"age"]; // age 키, 값 삭제 (NSArray *) keys = [person allKeys]; (NSArray *) values = [person allValues];'기타' 카테고리의 다른 글
간단하게 DHCP(Dynamic Host Configuration Protocol) 알아보기 (0) 2022.12.14 OSI(Open System Interconnection) 7 Layers 알아보기 (1) 2022.12.12 운영체제에서의 동기화 (0) 2022.12.01 다양한 OpenAPI / API 들 알아보기 (0) 2022.11.26 파이썬에서 리스트 안에 리스트 삽입하기 (Python) (0) 2022.11.24