안녕하세요 도미닉입니다. 콜 바이 벨류, 콜 바이 레퍼런스 많이 들어보셨을 겁니다. 스위프트에서 inout 을 활용하여 포인터에 직접 접근할 수 있습니다. 위에 소스는 inout 을 통해 직접 포인터에 접근하여 두 변수의 값을 바꾸는 예제입니다. 함수에서 서로 값이 바뀐다면 그 값은 복사되어 사용된 값이므로 원본에는 영향을 주지 않습니다. 스위프트에서는 함수에 매개변수로 들어온 값을 수정할 수 조차 없습니다. 위와 같이 inout 을 통해 매개변수에 접근한다면 조금 더 효율적인 프로그래밍이 가능합니다. 직접 포인터에 접근하는 것은 자유도가 있지만 예상치 못하게 원본에 대한 수정이나 훼손이 가능하므로 주의하여야 합니다. 조금 더 안전한 메소드는 아래와 같습니다. 이상으로 inout 에 대해서 알아봤습니다...
안녕하세요. 도미닉입니다. 테이블뷰를 만들다가 보면 셀 사이에 구분선이 생깁니다. 이 구분선을 지우고 싶은 경우가 있는데요. 구분선을 지우는 방법에 대해서 알려드리겠습니다. 1. chatTableView.separatorColor = UIColor.white 배경 색이 흰색이라면 구분선의 색이 흰색이 되면 안보이게 되겠죠. 위에 코드처럼 tableView 의 separatorColor 를 배경색과 같은 색(보통 흰색)으로 바꿔주면 구분선이 보이지 않습니다. 2. chatTableView.separatorStyle = .none 구분선의 스타일을 없도록 구성해줄 수도 있습니다. 위에 코드처럼 tableView 의 separatorStyle 을 .none 으로 바꿔주면 구분선이 보이지 않습니다. 간단하게 두..
안녕하세요. 도미닉입니다 오늘은 패턴에 대해서 알아보겠습니다. 패턴이란 소스의 양을 줄여서 쓰고 읽기 쉽게 정해놓은 구조 라고 생각할 수 있습니다. 패턴 매칭이란. 코드에서 패턴을 찾아내고 활용하는 것이라고 할 수 있겠습니다. 패턴에는 두가지 큰 유형이 있습니다. 모든 종류의 값에서 성공적으로 동작하는 패턴과 런타임 안에 지정된 값에 따라서 동작하지 못하는 패턴입니다. 첫 번째 종류의 패턴은 단순 변수, 상수 및 옵셔널 바인딩에서 값을 소멸시키는 데 사용됩니다. 여기에는 와일드 카드 패턴, 식별자 패턴 및 이를 포함하는 값 바인딩 패턴 또는 튜플 패턴이 포함됩니다. 이러한 패턴에서 타입 지정하여 특정 타입의 값만 일치하도록 제한 할 수 있습니다. 두 번째 종류의 패턴은 전체 패턴 일치에 사용되며, 여기서..
앞에서 소개드린 구조체 안에 내용 중에 프로퍼티에 대해서 먼저 알아보겠습니다. 프로퍼티는 저장 프로퍼티, 연산 프로퍼티, 타입 프로퍼티로 나뉘어집니다. 첫번째로 저장 프로퍼티는 가변 프로퍼티와 불변 프로퍼티로 나뉩니다. 구조체는 기본적으로 모든 저장 프로퍼티를 포함하는 이니셜라이저가 자동으로 생성됩니다. 위에 Cat 구조체에서 그것을 사용해보았습니다. 저장 프로퍼티는 기본값을 설정할 수도 있으며 기본값이 있는 경우 이니셜라이저 없이 인스턴스 생성이 가능합니다. struct Coordinate { var x: Int = 0 var y: Int = 0 } let point: Coordinate = Coordinate() 만약 저장 프로퍼티가 옵셔널이면 해당 프로퍼티는 초기값을 넣어주지 않아도 됩니다. 지연 ..
오늘은 스위프트의 구조체에 대해서 알아보겠습니다. struct 이름 { 프로퍼티 메서드 } 위와 같은 형태로 선언할 수 있습니다. 예를 들면 고양이 구조체는 아래와 같이 선언할 수 있습니다. struct Cat { let name: String var age: Int } 구조체는 자동으로 생성된 이니셜라이저를 통해 생성할 수 있습니다. var yaong: Cat = Cat(name: "yaong", age: 5) 또는 아래와 같이 직접 이니셜라이저 메서드를 선언해줄 수 있습니다. init (nameEntred: String) { name = nameEntred age = 1 } 직접 이니셜라이저 메서드를 선언해주면 기본으로 생성된 이니셜라이저는 사용하실 수 없습니다. 위에서 인스턴스를 만들어주는 소스는 ..
- Total
- Today
- Yesterday
- exercise
- 매트랩
- Xcode
- 시원스쿨
- 반복문
- 데이터베이스
- 프로그램
- MySQL
- 포인터
- 스위프트
- 프로그래밍
- 뇌를 자극하는 C 프로그래밍
- 배열
- 영어
- terascan
- Swift
- 뇌를 자극하는 C프로그래밍
- database
- 형용사
- 리눅스
- IOS
- 왕초보 영단어1
- 함수
- C
- 연습문제
- 테라스캔
- 애플
- Matlab
- 단어
- Apple
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |