iOS (9) 썸네일형 리스트형 iOS(Swift) - Class와 Struct의 차이 5가지 요약 1. Reference(참조) 타입과 Value(값) 타입 2. 상속 3. deinitializer (초기화 해제 , 소멸자, 인스턴스 해제 등) 4. 타입 캐스팅 5. 메모리 할당 (Heap / Stack) 1. Reference(참조) 타입과 Value(값) 타입 Class (Reference 타입) - 클래스의 인스턴스를 변수나 상수에 할당하거나 함수에 의해 전달할 때, 인스터스가 아닌 메모리 주소가 전달된다. - 메모리 주소가 전달된다는것은 실제 객체의 복사본이 생성되는 것이 아니라, 객체가 저장된 메모리 주소가 전달되는것을 의미한다. - '===' 동일성 연산자를 사용하여 두 클래스의 인스턴스가 동일한 메모리 주소를 가리키고 있는지 확인할 수 있다. class MyClass { var nu.. iOS - UIViewController Life Cycle (뷰 컨트롤러의 생명 주기) loadView - 컨트롤러가 관리하는 뷰를 생성합니다. - self.LoadView()는 직접 호출하면 안됩니다. viewDidLoad - 뷰 컨트롤러가 메모리에 로드되고 난 후에 시스템에 의해 자동으로 호출됩니다. - 일반적으로 리소스를 초기화하거나 초기 화면을 구성할때 해당 메서드에서 작성합니다. - 재호출되지 않습니다. viewWillAppear - 뷰가 사용자에게 보여지기 직전에 호출됩니다. - 화면 갱신 시 해당 메서드에서 작성합니다. - 사용자에게 뷰가 보여지기 직전이므로 실행하는데 오랜 시간이 걸리는 작업은 피해야 합니다. - tableView의 reloadData()와 같은 메서드를 호출하는데 적합합니다. viewDidAppear - 뷰가 사용자에게 보여진 후 호출됩니다. 이 외에 vie.. iOS - 앱의 생명주기 Unattached(Not running) - 아직 앱이 실행되지 않은 상태입니다. Forground Inactive - 앱이 Foreground 상태이지만 이벤트는 받지 않는 상태입니다. ex)인트로 화면 Forground Active - 앱이 활동하고 있는 상태입니다. Background - 홈이나 다른 앱으로 이동하여 앱의 화면이 보이지 않지만, 앱은 내부적으로 계속 활동중인 상태입니다. ex) 음악, 통화앱 Suspended - 앱이 Background 상태에서 활동이 멈춘 상태. 메모리가 부족할 때 시스템이 앱을 강제종료 하여 메모리를 회수할 수 있습니다. iOS - 앱의 실행 과정 C언어를 기반으로 만들어진 언어들은 main함수로 시작하게 됩니다. Objective-C와 Swift는 둘 다 C언어 기반이기 때문에 main함수부터 앱이 시작되게 됩니다. Objective-C 시작 지점 (Objective-C entry point) //main.m #import #import "AppDelegate.h" int main(int argc, char * argv[]) { NSString * appDelegateClassName; @autoreleasepool { // Setup code that might create autoreleased objects goes here. appDelegateClassName = NSStringFromClass([AppDelegate class]); }.. iOS(Swift) - String.subSequence(=SubString)은 무엇인가? 이전 게시글에서 split과 components의 차이에 대해서 알아보았는데요. split의 return type에 대해서 좀 더 알아보려고 합니다. components의 return type은 [String]이지만 split의 return type은 [String.SubSequence]입니다. String.SubSequence Apple 공식 문서에 따르면 String.SubSequence는 SubString의 별명으로 지정되어 있습니다. 별명을 지정하는 typealias는 다음 게시글에 따로 정리하겠습니다. Substring split(), prefix()등 과 같은 method를 통해 원본 문자열에서 가져온 부분 문자열 타입입니다. 부분 문자열(Substring)은 원본 문자열(String)의 메모.. iOS(Swift) - split VS components 코드를 작성하다보면 문자열을 분리할 때 많이 사용하는 split과 components에 대해서 알아봅시다. 둘 다 문자열을 분리하여 배열로 리턴해주는 메서드입니다. 정리 components는 EmptySubsequences가 항상 반환되지만 split은 선택 가능하다. EmptySubsequences가 필요하지 않으면 split이 성능면에서 더 좋으므로 split을 사용하자. components 파라미터 개수는 separatedBy 1개만 있습니다. "A B C".components(separatedBy: " ") //["A", "B", "C"] 문자열에 매개변수(" ")와 일치하는 문자가 여러개 있는 경우 그 개수만큼 EmptySubsequences가 항상 반환됩니다. "A B ".components.. IOS - 여러개의 View 같은 비율로 나누기 이전에는 StackView를 사용하여 같은 비율로 뷰의 크기를 지정했다면 이번에는 Equal Width를 사용했다. Step1 - 화면에 View 생성하기 Step2 - Constraints 설정하기 Step3 - Equal Widths 설정하기 Step4 - 뷰 사이의 Constant 수치 변경하기 Step5 - 다른 기기에서 확인하기 IOS - (Stack View)두개의 View 같은 비율로 나누기 어느 디바이스이건 동일한 비율로 화면에 띄워주고 싶다면 Stack View를 사용하여 두개의 뷰를 하나로 묶는다. 그리고 StackView를 활성화 시킨 후 inspecter에 가서 Distribution의 항목에서 기본값(Fill)을 Fill Equally로 변경한다. 이전 1 2 다음