일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- SWIFT
- viewDidAppear
- 스큐어모피즘
- commit message
- 뉴북
- 코드리팩토링
- 아이폰
- 포인트
- ios
- git workflow
- iOS앱개발올인원패키지Online.
- 머티리얼 디자인
- commit messages
- 직장인인강
- commit
- 8 그리드 시스템
- 패스트캠퍼스후기
- 패스트캠퍼스
- 입력 개수 제한
- coordinator pattern
- git
- 직장인자기계발
- 픽셀
- 플랫디자인
- 패캠챌린지
- Git Tutorial
- 뉴모피즘
- viewDidLoad
- 디자인 트렌드
- Xcodebuild
- Today
- Total
목록iOS (50)
왕논의 연구실

블루투스 연결에 관해서 간단히 알아 봄 블루투스 기기 구성 Central = Clinet 정보를 읽어들이는 중심 기기 Server = Peripheral 정보를 보내주는 주변 기기 그림과 같이 헬스케어 기기를 입고 측정한 데이터를 핸드폰에서 보게 된다면, 헬스케어는 Peripheral, 핸드폰은 Central이 된다. 블루투스 데이터 구조와 서비스 Peripheral은 한 개 이상의 Service로 구성되어 있고, Service는 한 개 이상의 Character로 구성되어 있다. Service: 기기가 가지고 있는 데이터 집합 Character: 실질적인 데이터 그림과 같이 헬스케어에 심장박동 Service가 있고, Service 안에 심장박동수 Character와 위치 센서 Character가 있다. ..
처음 요청되어었을 때 생성됨 lazy로 선언하면 메모리에 올리지 않고 프로퍼티를 요청했을 때 초기화됩니다. 그래서 요청하지 않고 끝난다면 초기화되지 않고 종료됩니다. 그러므로 불필요한 성능저하나 공간 낭비를 줄일 수 있습니다. 항상 lazy var로 선언 왜냐하면 언제 초기화해서 완료되는지 알 수 없습니다. 처음에 값이 없다가 나중에 값을 가지게 되므로 var로 선언해야합니다. let은 초기에 값을 가지고 변하지 않습니다. 언제 값을 가질 수 있을지 모르기 때문에 thread safe하지 않습니다. Stored Property로 선언 lazy는 요청되었을 때 메모리에 올라가 값을 가집니다. Computed Property는 메모리를 가지고 있지 않고 값을 반환하기 때문에 lazy를 사용할 수 없습니다. ..

키보드나 피커뷰등에서 보조적인 버튼이 필요할 때 자주 사용 생성 // 생성 let bar = UIToolbar(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: 40)) // 삽입 textField.inputAccessoryView = bar ※ x,y,width의 값을 변형해보았는데, 적용이 되지 않는다. 초기값을 넣어줬지만, 적용되는 것은 height뿐이었다. UIBarButtonItem UIToolbar에 버튼을 넣으려면 UIBarButtonItem으로 넣어줘야한다. UIButton을 넣으면 안된다. // UIBarButtonItem 생성 let doneButton = UIBarButtonItem(barButtonSystemI..

1. 폰트 삽입 다운로드한 폰트를 프로젝트에 넣어줍니다. 적용할 타겟에 체크합니다. 2. Info에 적용 Info파일에 폰트를 적용하겠다는 것을 적어줍니다. 3. 테스트 Lable을 하나 추가해서 확인해줍니다. 코드로 하면 폰트 이름을 적어주면 됩니다. testLabel.font = UIFont(name: "JalnanOTF", size: 20) extension을 사용해보았습니다. case에 파일 이름을 넣어주었습니다. extension UIFont { enum CustomFont: String { case JalnanOTF } static func customFont(font: CustomFont, size: CGFloat = 10) -> UIFont? { return UIFont(name: font..

class로 해야할지, struct로 해야할지 헷갈릴 때가 있어서 정리해보았습니다. Class Struct 공통점 프로퍼티 선언 가능 메서드 선언 가능 .으로 내부 접근 가능 생성자 가능 extension 가능 프로토콜 채택 가능 차이점 참조타입 같은 인스턴스를 여러 변수에 할당하면, 변수값을 공유한다. ARC로 메모리를 관리 값타입 같은 인스턴스를 여러 변수에 할당하면, 각각의 변수값을 가진다. Class color 1,2는 같은 인스턴스를 공유하지만, 인스턴스를 새로 만든 color3은 공유하지 않습니다. Struct 복사한 인스턴스인 color2의 값을 변경해도, color1의 값에 영향을 주지 않습니다. 또한, 값을 변경하기 위해서는 var 키워드를 입력해야합니다. 왜 그럴까? 프로그램이 실행되면..

Realm은 모바일에 특화된 데이터베이스입니다. 렘, 렐름 등 읽는 방식이 사람마다 조금씩 다릅니다. 장점 사용하기 전에는 다른 회사들이 많이 사용한다. 최신 데이터베이스 중 하나로서 공부해 두면 좋을 것 같다. 이런 생각으로 선택했습니다. 사용해보고나서는 괜찮은 장점들이 있었습니다. 코드가 직관적입니다. DB에서 불러온 객체를 별도의 처리과정없이 바로 다룰 수 있습니다. Realm 스튜디오를 통해 데이터베이스 데이터를 직접적으로 볼 수 있습니다. 제가 처음 사용할때는 필요한 데이터타입을 다루지 않는다든지, 옵셔널타입에 대해서 조금 불편하게 작성해야하는 사항이 있었는데, 지금은 업데이트되었습니다. 설치 Swift Package Manager File > Add Packages... 검색창에 주소 입력 h..