Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

분류 전체보기259

12. Objective-C Strings 문자열 Objective-C에서 문자열은 NSString 클래스를 사용한다.NSString은 immutable 문자열을 나타낸다. 따라서 객체를 생성한 후에는 내용을 변경할 수 없다.따라서 아예 새로운 객체를 반환하는 메서드가 많다. 이에 자식 클래스인 NSMutableString을 사용하면 필요에 따라 더 유연하게 문자열을 변경할 수 있다. 문자열 관련 메서드는 굉장히 다양하기 때문에 코드와 함께 정리해 보았다.대부분 메서드명을 보면 어떤 기능인지 알 수 있다.#import int main(void) { @autoreleasepool { //기본 생성 및 출력 NSString *greeting = @"hello apple"; NSLog(@"Greetings!: %@\.. 2024. 5. 13.
11. Objective-C Pointers 포인터 동적 메모리 할당과 같은 기능을 포함해 C계열 언어에서 포인터 개념은 필수적이다. 변수는 사실상 메모리 주소이며, &(ampersand)연산자로 접근할 수 있다.#import int main (void) { int var1; char var2[10]; NSLog(@"Address of var1 variable: %p\n", &var1 ); //0x16fdff238 NSLog(@"Address of var2 variable: %p\n", &var2 ); //0x16fdff23e NSLog(@"Size of var1: %d, size of var2: %d,",sizeof(var1),sizeof(var2)); // 4, 10 return 0;} 출력되는 메모리 주소는 계속 변할 수 있고.. 2024. 5. 9.
10. Objective-C Arrays 배열 Objective-C에서 배열은 '같은 타입'의 요소들이 '연속적으로 저장'된 '고정된 사이즈'의 자료구조이다.배열의 원소는 연속적인 메모리 공간에 저장되어 있어  index로 접근 가능하며(0이 맨 첫번째) 가장 낮은 주소가 첫 번째 요소, 가장 높은 주소가 마지막 요소를 가리킨다.배열 선언요소의 타입과 배열의 사이즈를 명시적으로 작성해준다.(배열의 사이즈는 0초과의 정수 리터럴이며, 타입은 크게 구애받지 않는다.)type arrayName [arraySize];//declaredouble balance[10];//초기화 해주지 않아서 0이나 쓰레기 값이 들어있다.배열 초기화double balance[5] = {1000.0, 2.0, 3.0, 50.0, 100.0};//사이즈를 생략하면 배열의 요소 개.. 2024. 5. 7.
9. Objective-C NSNumbers NSNumber는 기본 데이터 타입(int, float, double)을 객체로 감싸는 래퍼 클래스이다.Objective-C에서 컬렉션 클래스는 기본 타입이 아닌, 객체 타입만 저장할 수 있기 때문에 래핑하는데 주로 사용된다.또한 비교나 연산작업을 할 때 더 편리한 기능들이 제공된다. NSNumber 객체를 생성하고, value를 뽑아내는 예시 코드는 아래와 같다. #import int main(int argc, const char * argv[]) { @autoreleasepool { // NSNumber 객체 생성 NSNumber *boolNumber = [NSNumber numberWithBool:YES]; NSNumber *charNumber = [NSN.. 2024. 5. 7.
8. Objective-C Blocks 블록 블록이란?Objective-C의 클래스는 여러 데이터와 관련된 여러 메서드로 이루어져 있다. (프로퍼티와 메서드)하지만 작업을 하다 보면 여러 메서드의 조합 보다는 하나의 작업만 수행해도 되는 경우가 있다. 즉 클래스까지 따로 만들 필요는 없는 경우를 말한다. Block은 값인 것처럼 함수에 전달될 수 있는, 코드 덩어리를 하나의 단위로 캡슐화 하는데 사용되는 객체이다.익명함수,람다와 비슷하고 Swift에서 클로저라고 생각하면 되겠다.(클로저는 Swift에서 1급 객체이다.) 블록 또한 1급 객체로,변수나 상수에 할당이 가능하고, 다른 함수의 파라미터로 전달 가능하고,함수의 반환 값으로 사용 가능하며 배열과 같은 자료구조에 저장할 수 있다.블록 활용처- GCD를 통한 비동기 작업- 콜백함수의 인자- 컬렉.. 2024. 5. 7.
7. Objective-C 함수(call by value, call by reference) 함수는 작업을 수행하기 위한 여러 문장의 모음이라고 할 수 있다. 프로그램의 시작점인 main()함수를 비롯해, 추가적인 함수를 필요에 따라 정의할 수 있다.재사용성, 모듈화 등등 함수와 관련된 기법보다는 정말 기본 개념을 알아보자. 이건 정말 그냥 코드 짜면서 해봐야 느는듯..함수 선언(Declaration)컴파일러에게 함수의 이름, 반환타입, 파라미터에 대한 정보를 전달한다.int add(int num1, int num2); //전방 선언~~~~//함수 구현int add(int num1, int num2) { return (num1 + num2);}함수 정의(Definition)함수의 body 파트를 구현하는 것을 의미한다. 기본적으로 옵젝씨에서는 함수를 메서드라고 부르고,문자열에 문자열을 더하.. 2024. 5. 6.