iOS (7) 썸네일형 리스트형 Objective-C 기초 내용 objective-c 기초 문법 ANSI C의 상호호환으로 C문법을 그대로 쓸 수 있다. id 데이터 형: 어떤 데이터가 들어올지 알 수 없을 때 자유로이 형변환이 가능하다. 함수 호출: 함수를 쓰겠다고 메시지를 보내는 형태. 함수가 없다면 nil을 리턴하기 때문에 프로그램이 멈추지 않는다. object 가 정확하게 지칭하는 바는 variable안에 들어있는 것이다. -> 이해 못함 주석: // ! -> not을 의미한다. BOOL자료형 앞에 쓰일 수 있음 *참고 사이트 github.com/Gyubin/TIL/blob/master/iOS/Objective-C.md 구성요소 .h 헤더파일(class, type, function, 상수 등 기록) .m 소스파일(Objective-C, C코드포함) .mm 소스.. Swift 싱클톤 패턴 * singleton : 영어사전적 의미로 단독 개체라는 뜻이 있다. 어떠한 클래스의 인스턴스가 단 하나만 존재하도록 강제하는 생성패턴을 말하는 것. 간단하게 설명하면, 클래스의 인스턴스가 딱 하나만 존재할 때 이 인스턴스로의 접근을 쉽게 할 수 있도록 만들어 주는 방법이다. 생성자가 여러차례 호출되더라도 실제로 생성되는 객체는 하나이다. 특정용도로 객체를 하나 생성하여 공용으로 사용하고 싶을때 사용하는 방법이다. 객체는 임의로 메모리에서 해제해주지 않는 이상 프로그램이 실행되고 끝날때 까지 메모리에 유지된다. *사용하는 법. - static 변수에 해당 클래스의 인스턴스를 할당 - initializer를 private로 설정하여 다른 곳에서 인스턴스를 또 생성하지 못하도록 해야함 -> Thread-sa.. Swift Joined() *Joined() : 배열에 들어있는 여러 원소들을 하나로 묶을때 사용하는 메소드. (표준라이브러리에서 제공) - joined(separator:) : 특정 요소를 추가하여 묶는 방법 let nestedNumbers = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] let joined = nestedNumbers.joined(separator: [-1, -2]) print(Array(joined)) // Prints "[1, 2, 3, -1, -2, 4, 5, 6, -1, -2, 7, 8, 9]" -joined() let ranges = [0.. $1+$0}.joined() let answer: String = numbers.map{String($0)}.sorted{$0+$1 > $1+$0.. Swift 구조체 vs 클래스 Swift 에서 구조체와 클래스를 구분해서 사용하는 것은 매우 중요한 부분 이라고 한다. 구조체와 클래스는 서로 비슷하기도 하지만 구분해야할 다른 점들도 많은데, 이번에 정리를 해보려고 한다. [구조체와 클래스의 공통점] - 값을 저장하기 위해 프로퍼티를 정의할 수 있다. - 기능을 구현하기 위한 메서드를 정의할 수 있다. - 초기화될 때의 상태를 지정하기 위해 이니셜라이저를 정의할 수 있다. - 새로운 기능 추가를 위해 extension을 통해 확장할 수 있다. - 특정 기능을 수행하기 위해 특정 프로토콜을 준수할 수 있다. [구조체와 클래스의 각각의 특징] struct - call by value로 값의 복사가 일어남 (값타입) - stack메모리 영역에 할당이 된다 -> 속도가 빠르다. 하지만, 3.. Swift 프로토콜 프로토콜이란? https://docs.swift.org/swift-book/LanguageGuide/Protocols.html Protocols — The Swift Programming Language (Swift 5.2) Protocols A protocol defines a blueprint of methods, properties, and other requirements that suit a particular task or piece of functionality. The protocol can then be adopted by a class, structure, or enumeration to provide an actual implementation of tho docs.swift.org .. Swift 클로저 오늘은 Swift 클로저에 대해서 정리를 하려고 한다. Closure 란? 클로저란 코드의 블럭으로 일급객체의 역할을 한다. (여기서 일급객체란? 객체를 전달 인자로 보낼 수 있고, 변수나 상수로 저장, 전달이 가능하며, 반환값으로 사용 되는 것을 말한다.) 함수가 클로저의 한 형태이며, 이름이 붙어있는 클로저라고 생각하면된다. 클로저의 기본 형태 { (매개 변수들) -> 반환 타입 in 실행 코드 } 여기서 'in' 의 키워드는 정의부와 실행부를 분리하기 위해서 사용한다. ( 사실 맨날 개발을 하면서도 궁금했던 부분 중 하나인데 이번에 공부를 하면서 알게되었다. ) 클로저는 함수의 매개변수로 넘어가는 용도로 가장 많이 쓰입니다. -> 타입과 타입을 가지고 타입형태를 반환한다. (사실 이렇게 들었을때는 .. Swift 메모리 관리 오늘은 메모리 관리에 대해서 공부를 해보려고 한다. 사실 지금까지 메모리 관리를 신경쓰면서 개발하지 않았는데, 많은 자료들을 찾아보니 자동으로 관리를 해주더라도 메모리 누수문제가 있으니 신경써서 개발하는 것이 좋다고 하길래... 정리를 해보려 한다. *참고로* 프로그래밍에 있어서 메모리 관리는 매우 중요한데, 자동으로 처리해주는 것이 JAVA의 가비지 콜렉터와 Swift의 ARC가 있다. 두 언어 모두 컴파일러가 알아서 메모리 관리를 해주는 언어이다. 더보기 메모리 영역 메모리 관리는 가상메모리 4개의 영역 중 Heap 영역과 관련이 있다. Heap 영역은 참조형 자료들이 머무는 공간으로 개발자가 동적으로 할당하는 메모리 공간으로 관리가 필요한 영역이다. Swift에서 Heap 영역에는 class나 cl.. 이전 1 다음