목록분류 전체보기 (50)
Stacking Fire
저는 UINavigationController를 좋아합니다. Cocoa Touch의 근간과 같은 컨트롤러죠. 이름부터도 iOS의 보편적인 Navigation을 책임지고 있습니다. 그러다보니 iPhone 사용자들은 UINavigationBar에 참 익숙한데요. 그러다 보니 딱히 UINavagationController의 기능이 필요없는 뷰에서도 UINavigationBar에 기능을 넣는 경우가 있습니다. 그런데 그냥 UINavigationBar만을 올리면, 네비게이션바와 스테이터스 바 사이가 붕 뜨는 문제가 있습니다.오늘은 이것을 해결하는 팁을 소개해 보겠습니다. 1. 우선 UINavigationBarDelegate를 연결해 줍니다. 2. ViewController에도 추가해 줍니다. class ViewC..
클래스, 구조체, 열거형의 인스턴스를 생성하는 것. 반환값이 없음. 왜 굳이. func도 사용하지 않음 구현부 혹은 익스텐션에 위치 (클래스의 지정 이니셜라이저의 경우 불가) enum의 이니셜라이저 반드시 케이스 중 하나로 이니셜라이즈 해야 함. init에서 self가 사용 가능. enum TestCase { case firstCase case secondCase case defaultCase init() { self = .defaultCase } } 프로퍼티의 기본값 기본값(default value) : initial value가 아니다. 외부에서 따로 초깃값을 지정해주지 않을 때 초깃값이 되는 것이 기본값이다. 혼란을 방지하기 위해 기본 초깃값(default initail value)으로 쓰는 게 좋..
Realm을 이용해서 간단하게 주소록을 만들어 봤습니다.(Dependancy Manager는 Carthage를 사용했습니다. 설정법은 여기) 했던 예제 코드입니다 :) (2017. 7. 3. 14시에 수정하였습니다.) ScreenShots 구현부 1.Object 서브클래스 만들기 Realm을 프로젝트에 추가하면 자동으로 Object라는 클래스를 사용할 수 있게 됩니다. 굉장히 당당한 이름이네요... NSObject가 마치 외부 라이브러리처럼 보이게 하는 Realm의 위엄! import Realm import RealmSwift class Contact: Object { ///'dynamic var'로 프로퍼티를 설정해 줍니다. dynamic var personID: Int = 0 dynamic var n..
단어 강박 메서드는 클래스, 구조체, 열거형에 관련된 함수. Methods are functions that are associated with a particular type. Classes, structures, and enumerations can all define instance methods, which encapsulate specific tasks and functionality for working with an instance of a given type. Classes, structures, and enumerations can also define type methods, which are associated with the type itself. Type methods are si..
6월 28일, FastCampus에서 2기 기수강 개발자인 이봉원님(GiftBot)님의 특강이 진행되었습니다. 크게 두 가지 부분에 대해 강의 진행하셨는데요. 첫 번째가 CocoaPods 등 디펜던시 매니저 관련 활용법이고, 두 번째는 요즘이라기엔 뭐하고 계속 핫한 Realm에 대한 활용법이었습니다.두 가지 다 내용이 좋아서. 인상적인 것을 정리놓으려고 합니다. 카르타고? 카르타고는 이번에 처음 알게 된 디펜던시 매니저인데요. 코코아팟과 동일한 목적을 위해 사용하지만, 컴파일 타이밍이 다릅니다. 프로젝트에 코드로 추가하는 것이 아니라 컴파일된 바이너리를 등록해서 쓰는 방식인데요. 이 방식을 통해 수정사항이 발생할 리가 거의 없는 외부 라이브러리 컴파일을 내 프로젝트 수정할 때마다 매번 컴파일하는 비효율을..
프로퍼티 단어 강박 프로퍼티는 클래스, 구조체, 열거형의 관련값 Properties associate values with a particular class, structure, or enumeration. Stored properties store constant and variable values as part of an instance, whereas computed properties calculate (rather than store) a value. Computed properties are provided by classes, structures, and enumerations. Stored properties are provided only by classes and structures. ..
Swift에서는 모든 것이 클래스가 아닙니다. 사실 생각해보면 다 그럴 필요는 없죠! 어떨 때 클래스를 쓰고 어떨 때 구조체를 쓰는지 잘 생각해서 적용해서 예쁜 코드를 만들어 봅시다! 특징 클래스뿐만 아니라 구조체도 객체 지향 스타일로 활용. 하나의 소스 파일 안에서 여러 개의 클래스나 구조체를 선언할 수 있으며, 중첩해서 클래스 안에 클래스, 구조체 안에 구조체를 중첩해서 정의하고 선언할 수도 있습니다. 구조체 정의 타입이므로 대문자 카멜케이스 적용 memberwise initializer : 구조체의 프로퍼티 이름으로 자동으로 init 메서드가 생성됨. struct YourStructName { var someProperty: String mutating func someMethod(someParam..
GitHub에서 보기 거 얘긴 많이 들었는데... 그래서 그게 뭐죠? Swift에 대해 이야기할 때 가장 자주 등장하는 주제 중 하나가 옵셔널입니다. 결론부터 말하면 옵셔널이란 '값의 부재를 표현하는 Generic Enumeration'인데요... 뭔 소린지 파봤습니다. 와닿게 해보려고 옵셔널이 만들어진 경위를 상상해 보았는데요. 기존의 Objective-C에서는 특정 클래스의 인터페이스를 만들 때, nil이 들어가도 되는지 안 되는지를 꼭 주석으로 명시해 주어야 했습니다. 왜냐면 실제 값을 할당해주지 않았어도 선언을 했다면 그대로 불러다 쓸 수 있었고, 빈 값인지 아닌지를 확신할 수 없어도 빌드에 실패하지는 않기 때문이죠. ...그런데 뭐든 그렇지만 사용자(개발언어의 사용자. 개발자.)가 설명서(주석,..
2017년 WWDC에서 Cocoa Touch 프레임워크와 스위프트에 새롭게 추가된 것들을 이야기하는 세션인 "What's New In Cocoa Touch 2017"를 보고 나름대로 정리해 보았습니다. WWDC 세션 영상 1. Productivity Drag & Drop 이번 iOS 업데이트는 상당히 특이한 업데이트였는데요. iPhone에 대해서는 몇몇 UI 수정사항을 제외하고는 크게 사용성이 변화할 정도의 것은 없었던 데 반해, 아이패드는 완전히 새로운 기기로 만들어 버렸습니다. 그 중 하나가 단연 "File"이라는 앱과 "Drag & Drop" 기능이었습니다. 그것을 적용하는 방식을 소개하고 있었습니다. UIDragInteraction : 적용할 아이템에 넣어버리기. let drag = UIDragI..
특징 소괄호의 생략이 불가능 - 즉 소괄호와 func로 함수를 알아볼 수 있음. 타입에 민감한 스위프트답게, 매개변수의 타입이 다른 경우 서로 다른 함수로 인식, 매개변수가 다른 동일한 이름의 여러 함수를 정의하는 것이 가능. 정의하기 기본 형태123456789func 함수이름(매개변수이름 전달인자레이블: 매개변수타입, 매개변수이름 전달인자레이블: 매개변수타입 = 기본값) -> 반환값타입 { 실행구문 return 반환값} func functionName(parameterName argumentLabel1: ParameterType, parameterName argumentLabel2: ParameterType = defaultValue) -> ReturnType { implementation return..