일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- iOS앱개발
- 백준
- 홀수홀릭호석
- 20164번
- 329번
- BOJ
- 2212
- 329
- 프로그래머스
- 백준알고리즘
- leetcode329
- IOS도전
- iOS개발
- dataframe
- 크게만들기
- IOS입문
- leetcode
- 2812번
- stack문제
- 센서
- 백준문제
- 사다리조작
- IOS개발기
- 릿코드
- 리트코드
- IOS도전기
- 15684
- 백죽
- LongestIncreasingPathinaMatrix
- 2212번
- Today
- Total
알고리즘 풀어주는 블로그
IOS 앱 개발하기 - 2일차 : 버튼 연결, 텍스트 입력받기 본문
기본적인 UI 와 Action 연결을 공부하기 위해
버튼을 클릭하면 텍스트 필드에 입력한 글이 라벨에 표현되도록 해보겠습니다.
1. button, TextField 만들기
라벨과 똑같이 (+) 추가에서 TextFiled 와 Button 을 드래그해서 화면단에 놓음
2. View 객체와 Action 연결하기 (ViewController.swift)
앞에서 배운 명령어인 Control+Option+Command+Return 을 누르거나,
아래 화면의 Assistant 를 클릭해서 코드와 화면을 한눈에 비교할 수 있게함
그러면 아래와 같이 코드가 같이 보입니다.
1) 아웃렛 변수 작성
- 아웃렛 변수 : 객체에 연결하여 접근할수 있는 변수
- 액션 함수 : 객체가 수행할 내용
이제 버튼 등의 객체를 제어할 아웃렛 변수와 액션 함수 소스 코드 작성
✓ 아웃렛 변수 작성 방법
1. Main.storyboard 파일의 객체에를 Control 을 누른 채 마우스 왼쪽 버튼으로 소스코드로 드래그
2. 직접 소스 코드 작성 후 드래그로 연결
@IBOutlet weak var tLabel: UILabel!
@IBOutlet weak var tTextfield: UITextField!
2) 버튼 액션 함수 작성
아웃렛변수와 동일하게 Control+드래그를 하면 액션 함수 생성 및 수행 방법 선택 가능
혹은 직접 코드로 입력해도 됨
@IBAction func btnSend(_ sender: UIButton) {
tlabel.text = tfield.text
}
그러고 빌드를 성공했는데 앱 화면을 띄우는 도중 앱이 죽음
✓ Exception NSException 에러 발생
Exception NSException * "[<helloword.ViewController 0x14e607e40> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key label." 0x00006000039a0d80
스토리보드에서 참조하고 있는 오브젝트 코드를 지웠다 썻다 옮겼다 난리를 치는 바람에 참조하는 객체를 찾지 못 해서 나는 오류같음..?
아래 화면에서 connections inspector 를 확인해보자
에러는 여기를 참고함
https://velog.io/@zooneon/NSUnknownKeyException-에러-해결하기
버튼의 연결은 괜찮은데,
라벨 연결들이 아직 그대로 남아있다.
이러니 찾을 수 없지... 필요한거 말고는 다 지워주자
그러면 짜잔.
버튼을 누르니 텍스트 필드에 입력한 글자가 나타난다.
안드로이드에 비해 시뮬레이터 성능은 상대적으로 빠른듯 하다
레이아웃 등등 설정을 안 해줘서 글자가 라벨 크기를 넘어가니까 잘린다.
본 게시글은 IOS 입문자의 독학 과정입니다.
고수 분들의 많은 조언 및 지적 감사합니다.
'IOS 개발자 입성기' 카테고리의 다른 글
맥북으로 깃허브 사용하기 (0) | 2021.05.30 |
---|---|
IOS 앱 개발하기 - 3일차 : 화면 전환, present 함수 (0) | 2021.05.29 |
IOS 앱 개발하기 - 3일차 : 로그인 화면 만들기 (storyboard) (0) | 2021.05.16 |
IOS 앱 개발하기 - 1일차 : 프로젝트 구성 파일, 시뮬레이터 빌드 성공 (0) | 2021.05.15 |
IOS 앱 개발하기 - 1일차 : Xcode 다운로드, 개발자 등록, 프로젝트 생성 (0) | 2021.05.15 |