반응형

iOS 312

iOS swift TableViewController 필수 메서드

TableViewController 필수 메서드 1. 셀 갯수 : numberOfRowsInSection -> else 를 반드시 써주어야 오류가 나지 않음 이유: 몇 개일지 모르니깐 (viewDidLoad에 정보가 없어서. 예외 없이 처리해주어야) 2. 셀 디자인 및 데이터 처리 : cellForRowAt ->else를 반드시 쓰지 않아도 된다 이유: 밑에서 return cell써주어서 (cell에는 default요소가 있어서 기본값 반환해줌 따로 폰트 등등 설정하지 않더라도) 3. 셀 높이

iOS swift TableViewController 정적구성요소(Static Cells)

iOS swift TableViewController 정적구성요소(Static Cells) (TableView content: static cells 로 하는 경우) selection 관련 selection : Default => 클릭 시 회색으로 됨 selection: None => 클릭시 아무 반응 없음. Style 관련 Style: Plain => 스크롤할 때 헤더가 고정되어있음 Style: Grouped => 스크롤할 때 헤더 고정되지 않고 같이 스크롤 됨 Separator Inset: left 0으로 하면 앞에 간격이 없이 딱 붙게 됨. 참고) Dynamic Prototypes vs Static Cell 코드로 구현 vs 스토리보드로 구현 https://ios-development.tistory..

iOS swift TableViewController vs. UITableView에 TableView얹기

iOS swift UITableView에 TableView얹기 vs. TableViewController 차이 view controller 위에 table view 및 cell을 얹은거. vs. TableViewController 차이 Safe Area O / Safe Area X Root View: View / Root View: Table View Controller view controller 위에 table view 및 cell을 얹은거. : 디자인적인 변경이 쉽다. 테이블뷰를 한쪽으로 줄이고 빈 루트뷰에 버튼도 얹을 수 있다. TableViewController : 루트뷰가 테이블뷰라서 크기 줄일수가 없다 UIViewController 위에 Table view 랑 cell 얹은 경우 TableV..

IBOutlet 개별 vs. IBOutletCollection

사용자가 입력해야하는 창 : 개별 IBOutlet 연결하는게 낫다 (데이터적인 요소) (나중에 유지보수 등 할 때 IBOutletCollection으로 해놓으면 개별적인 수정하기가 어렵다) 위의 내용을 예시로 들자면, 첫번째 텍스트, 두번째 텍스트를 쓰는 내용의 경우, OutletCollection을 이용하기보다는 아래 IBOutlet 개별로 연결해서 쓰는 편이 낫다. 디자인 요소 하나로 묶어버릴 때 : IBOutletCollection으로 묶는게 낫다. 위의 내용을 예시로 들자면, 폰트 크기 및 굵게, 색상 변경 한꺼번에 바꾸고 싶을 때. 물론 data 적인 것도 IBOutletCollection 배열로 짤 수는 있지만 나중에 개별적 수정할때 어려워서.

iOS swift 변수의 스코프 및 전역변수

DatePicker 선택시 액션 구현. 그런데 '변수의 스코프'로 생각했을 때, 위 코드에서 let format = DateFormatter() format.dateFormat = "yyyy/MM/dd" 위의 두줄은 계속해서 메모리에 올라갔다 내려갔다 엄청하기 때문에 이렇게 디데이 앱 같은 경우 위의 두 줄을 계속해서 사용하기 때문에 이걸 아예 전역변수로 선언해버린다 (맨 위에다가) format.dateFormat = "yyyy/MM/dd" 이거를 viewDidLoad 안에다가 써야 하는 이유 (전역변수처럼 위에다가 쓰지 못하는 이유) : 언제 실행이 될지 모르기 때문에 초기화와 선언을 같이 할 수 없다... ? ---------------------------------------------------..

iOS swift 함수

1. 함수와 메서드 함수와 메서드는 기본적으로 같다. 다만 상황이나 위치에 따라 다른 용어로 부른다. 메서드 : 구조체, 클래스, 열거형 등 특정 타입에 연관되어 사용하는 함수 함수: 모듈 전체에서 전역적으로 사용할 수 있는 함수 2. 함수의 정의와 호출 함수에서는 () 소괄호를 생략할 수 없다. (조건문이나 반복문과 달리) 스위프트의 함수: 재정의(오버라이드), 중복정의(오버로드) 모두 지원. -> 매개변수의 개수가 달라도 같은 이름의 함수를 만들 수 있다. 1) 기본적인 함수의 정의와 호출 자유도가 굉장히 높은 문법 중 하나. 함수의 이름, 매개변수(파라미터), 반환타입 등을 사용하여 함수 정의. func 함수이름(매개변수...) -> 반환타입 { 실행구문 return 반환 값 } func hello..

iOS swift 흐름제어

1. 조건문 1) if 구문 ***swift 의 if 구문은 조건 값이 꼭 Bool 이어야 함 if 단독만 쓸 수도 있다.(else if 나 else 없이) 2) switch 구문 switch 입력값 { case 비교값1: 실행 구문 case 비교값2: 실행구문 2 case 비교값3, 비교값4, 비교값5: 한번에 여러 값과 비교 가능 실행구문 3 default: //한정된 범위가 명확치 않다면 default는 필수 실행구문 4 } 3) guard 2. 반복문 1) for-in 구문 for 임시상수 in 시퀀스 아이템 { 실행코드 } for i in 0...2 { print(i) } //0 //1 //2 2) while 구문 for-in구문과 마찬가지로 continue, break등의 키워드 사용이 가능 ..

iOS swift UILabel에 랜덤으로 값 정해주기

override func viewDidLoad() { super.viewDidLoad() firstLabel.text = setUserNickname() view.backgroundColor = example().0 //아래 적은 튜플의 첫번째 요소인 UIColor emotionFirstButton.setImage(UIImage(named: example().2), for: .normal) //첫번째 버튼의 이미지 } //배경색, 레이블, 이미지 - 타입의 제약 없이 쓸 수 있는건 튜플로 ( ) func example() -> (UIColor, String, String) { let color: [UIColor] = [.yellow, .red, .systemPink] let image: [String] ..

반응형