[Xcode, Swift]Day1.HelloWorld 앱 만들어보기
예전에 사놓은 '알짜배기 예제로 배우는 ios 프로그래밍' 이라는 책으로 갑자기 앱을 만들어보고싶어졌다
알짜배기 예제로 배우는 iOS 프로그래밍 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
무려 22년 1월에 사놓은거라 업데이트된 내용들은 검색 및 gpt랑 상의해가며 배울거다.
책이랑 문법도 다르고 import UIKit이라고 되어있길래 gpt에게 물어봤더니 사용하기 쉽고 직관적이게 개발하는 방법이 SwiftUI,
기존 개발 방식이 UIKit 이라는걸 알게됐다.
일단 책을 따라해보는걸로 결정
Interface를 SwiftUI가아니라 Storyboard로 바꾸니까
책처럼 바뀜
[UILabel 추가하기]
Label은 사용자에게 어떤 글자 형태의 정보를 제공하고자 할 때 사용됨
[변수와 상수 개념]
var -> 변수
let -> 상수
[UIButton추가하기]
똑같이 메인 스토리보드에서 + ,
화면에 버튼을 드래그함
오른쪽 인스펙터에서 버튼에 관한 설정을 해줄 수 있다.
**
스토리보드와 연결된 Controller가 아니면 연결선이 표시되지 않는다.
스토리보드에서 View를 선택한 후, class가 ViewController.swift인지 확인
아니라면 Automatic에 ViewController.swift 선택
눌러보면
오토매틱에 연결되어있는지 확인할 수 있다.
이제 스토리보드에 생성한 label 과 button을 ctrl 버튼을 누른채 소스코드 쪽으로 드래그해서 옮길겁니다.
드래그 후, 설정창에서 설정하기
이제 버튼은
**
@IBAction 어노테이션 : Action이 일어났을 때 사용되는 코드
finc : 함수
changeHello : 함수의 이름
(sender : Any) 함수에서 () 안에 있는 내용은 파라미터라 부르고 함수가 실행 될 때 필요한 값을 받아옴.
코드 작성해볼게요
**
self. : 객체 그 자신을 가리킴
드래그한 label(lblHello)을 가리키기위한 키워드
text :표시되는 글자를 설정하거나 가져올 수 있다.
재생 버튼을 눌러 시뮬레이터를 생성해보자
실행이 안될경우, 오타를 찾아보자
또는
**
드래그앤 드롭으로 코드 연결 시, 실수로 두번 연결할 경우나 코드만 지우면 오류가 난다.
커넥션 인스펙터에서 사용하지 않는 이름은 삭제한다.
개인적으로 컨트롤러에 이름 실수한거 바꿨다고 log(?)같이 남아있는걸 같이 삭제해줬어야했다
버튼을 눌렀을때, 문구가 바뀌지 않아서
스토리보드에서 버튼 클릭 후 -> 커넥션 인스펙터 -> Touch Up Inside가 changeHello 함수랑 연결이 안되어있어서 오른쪽 동그라미를 changeHello 함수 코드에 드래그해줬더니 작동이 됐다