요 며칠 뜸하다가 갖고 돌아온 주제는... GPT-4o가 알려주는 UIKit으로 탭 뷰 만들기. 

업데이트 이후로 내가 쓰던 게 사실 4o였다는 걸 어제 처음 알았다... 하루에 20개 제한이었던가? 찾아보니 16개라네. 의외로 하루에 많이 질문하지 않았구나 했다. 

 

아무튼 혼자서 UIKit 만져보는 김에 지피티 4o한테~~~ 스토리보드 안 쓰고 탭뷰 어떻게 만드냐고 물어봤고, 정리하며 진행하려 한다. 

++) 이 절차는 모두 지피티가 알려준 대로 했으며 알려준 내용을 고의로 누락하거나 내가 빼먹진 않았음을 미리 알린다. 안 한 건 이 자식이 안 알려줘서 안 한 거임

 

오랜만에 일기 형식 외의 글이라 두근두근 하다... 

사실 그냥 글도 쓸 수 있긴 하다. 근데 사진 없으면 정보 전달의 기능은 떨어지고 사진 넣기에는 일일이 찍고 넣고 너무 귀찮다. 

 

뭐... 일단 가보자. 

 


  1. 프로젝트 생성
    1. 목적에 맞는 프로젝트 생성(Swift, App, UIKit 등등)
    2. 스토리보드를 사용하지 않도록 설정하기 위해 'Main.storyboard' 삭제
    3. 'Info.plist' 파일에서 'Main storyboard file base name' 키 삭제
  2. AppDelegate와 SceneDelegate 설정
    1. 'AppDelegate.swift'와 'SceneDelegate.swift' 파일 다음과 같이 수정
    2. 예제코드
import UIKit


class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?

    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        guard let windowScene = (scene as? UIWindowScene) else { return }
        
        window = UIWindow(windowScene: windowScene)
        window?.rootViewController = createTabBarController()
        window?.makeKeyAndVisible()
    }

    func createTabBarController() -> UITabBarController {
        let tabBarController = UITabBarController()

        // 첫 번째 탭
        let firstViewController = UIViewController()
        firstViewController.view.backgroundColor = .red
        firstViewController.tabBarItem = UITabBarItem(tabBarSystemItem: .favorites, tag: 0)

        // 또 생략!!

        // 다섯 번째 탭
        let fifthViewController = UIViewController()
        fifthViewController.view.backgroundColor = .purple
        fifthViewController.tabBarItem = UITabBarItem(tabBarSystemItem: .downloads, tag: 4)

        tabBarController.viewControllers = [
            firstViewController,
            secondViewController,
            thirdViewController,
            fourthViewController,
            fifthViewController
        ]

        return tabBarController
    }
}

 

자 위 순서대로 설정 후 SceneDelegate에 코드를 입력하여 실행하면!!!!!

오류가 난다. 

그렇다. 놀랍게도 오류가 난다. 그 원인은 저 위에서 Info 파일에 Storyboard Name을 삭제하란 말은 안 했기 때문이다. 장난하냐 GPT!!!!!

저놈 지우면 실행됨

 

Thread 1: "Could not find a storyboard named 'Main' in bundle NSBundle << 이걸 삭제하기 전까지 요런 에러가 났었다. 

이 또한 지피티한테 물어봤는데.... 저런 설정이 있다는 말도 아니고 Info 파일 확인해서 모든 스토리보드 설정 삭제하라고 뭉뚱그려서 알려줬다. 친절함은 저세상으로 가버렸나. 

 

반말로 물어봤더니 반말로 대답해서 더욱 빡치게 한다. 

후... 암튼 저거 삭제하고 실행하면 잘 실행된다. 근데 첫 화면이 빨간색이라 눈 아프다... 그래서 눈 덜 아픈 파란 화면만 캡처해 옴

아 이것도 눈 아프네 대환장

암튼 하단 보면 잘 안보이긴 하지만 선택된 두 번째 뷰 아이템이 보인다.

 

여기까진 시키는 대로 했고... 이제 내맘대로 편하게 수정해 왔다. 

import UIKit

class ThirdViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let label = UILabel()
        label.text = "Third Page"
        label.translatesAutoresizingMaskIntoConstraints = false
        
        view.addSubview(label)
        
        NSLayoutConstraint.activate([
            label.centerXAnchor.constraint(equalTo: view.safeAreaLayoutGuide.centerXAnchor),
            label.centerYAnchor.constraint(equalTo: view.safeAreaLayoutGuide.centerYAnchor)
        ])
    }

대충 위와 같은 뷰 파일 5개를 만들어서 각 탭과 연결해줬다. 아까 지피티 코드의 탭 바 컨트롤러 생성 부분을 뷰 컨트롤러로 바꿔주면 된다.

사실 지금 피곤해서 내가 제대로 말하고 있는지 모르겠다. 다른 탭 누르면 해당 페이지에 맞게 바뀐다. 

 

아 tabBarSystemItem도 바꿔줘야되는데... 내일 할까... 커피 안 먹었더니 진짜 피곤하다

방금 메일 봤는데 좀있음 WWDC네

아직 뭐가뭔지 제대로 모르는데 또 바뀐다니... 정말 애플 생태계는 나약한 개발자는 살아남을 수가 없군

'231205~241107 > 240325~240913 [iOS]' 카테고리의 다른 글

#43 #031 2차 프로젝트 시작 240603  (0) 2024.06.03
#42 #030 힘들다 240530  (0) 2024.05.31
#40 #028 42일차_실습 240524  (0) 2024.05.24
#39 #027 41일차 240523  (0) 2024.05.24
#38 #026 39일차 240521  (4) 2024.05.21

1. 

아침부터... 뭔가 굉장히 운이 좋지 않다

 

1) 8시 9분에 깼는데 잠결에 수업 지각한 줄 알고 뛰어 일어났다가 9시가 수업 시작임을 깨닫고 다시 자려했으나 실패

2) 할머니 생신이라 소고기 미역국 끓이셨는데 엄마가 시간 없다고 초 불고 케이크먼저 먹으라 그래서 미역국 못 먹음

3) 실습(프로젝트) 팀 바뀌었는데 또 팀장 됨

 

놀랍게도 모두 12시 전에 일어난 일

이걸 쓰는 지금은 배고프다. 

그리고 끝나면 또 일하러 가야 하지

인생...

 

 

2. 

오늘은 아침부터 오후 3시까지 투두리스트 실습 진행~~

지금까지 수업자료 실습 등등 코드를 긁어모아보고 안될 땐 챗지피티와 함께했다. 

하지만 삽질도 많이 해서... 추가 편집 삭제까진 구현했는데 상태 변경할 버튼은 시간 부족으로 구현 못해서 쪼끔 슬펐다. 지피티가 백만 년 만에 쓸만한 코드를 알려줬는데... 

아무래도 UIKit이다 보니 SwiftUI보단 변경사항이 덜해서 오류 안나는 코드로 잘 알려주는 듯

 

3시부터는 강사님의 >> 라이브코딩 << 을 보고 있다. 현직 개발자의 실시간 코딩... 귀하다

다만 내가 하던 것보다 30배는 어려워서 따라 하는 건 진즉 포기했고... 어떤 순서로 하시나 만 끄적이다 6시에 바로 나가야 돼서 글 쓰러 왔다. 

 

 

3. 

오늘 둘째 삼촌이 예약 잡으셨댔는데...,., 집 먼저 들리셨네... 할머니 생신이라 그런갑다...

3 테이블 예약.. 살려줍쇼..,.,..,.

 

 

4. 

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TaskTableViewCell
        cell.textLabel.text = tasks[indexPath.row] // << 이놈새끼이거
        return cell
    }

아니 TaskTableViewCell로 언래핑 해줬잖아 뭐가 문제야 왜 자꾸 옵셔널 쓰라는겨!!!!!!

...시간 부족으로 일단 넘어가고 나중에 지피티를 조지기로 했다. 

 

+) 지피티 다시 돌려보니까.. task랑 text랑 뭔가 틀린 거 같은데... 악 시간이 없어... 바로바로 안 하면 나중에 귀찮다고 잘 안 하는데 orz

 

 

5. 

아 엑스코드 또 튕겼어!!!!

그나저나 지피티 코드 왜 질문이 늘어날수록 에러가 많아지냐

흠... 4번에서 수정한 게 문제 같다. 

롤백해야 할 줄 알앗으면 깃헙에 올리면서 했을 텐데... 귀찮다고 대충 하면 몸과 머리가 고생한다. 어메이징

 

 

6. 

강사님도... 뭔가 문제가 생기신갑다... 대체 커스텀 피커와 무슨 싸움을 하고 계신 겁니까.. 아 모달 뷰구나

화면갱신... 생명주기.. 으윽

결국 다음 주에 이어하기로 결정. 

 

 

7. 

오늘이 교육 2nd 단위기간 마지막 날이었다. 단위기간의 존재 의의는 특히 훈련장려금에 있다고 생각한다. 

오늘의 운세 보니까 돈 들어올 일 많다고 목돈 들일 있음 쓰라는데 설마 훈련장려금이ㄷㄷㄷㄷㄷ

사양하지 않고 미뤄놨던 게임들 좀 사야겠다. 

'231205~241107 > 240325~240913 [iOS]' 카테고리의 다른 글

#42 #030 힘들다 240530  (0) 2024.05.31
#41 #029 UIKit TabBar 만들기(w. GPT-4o) 240529  (0) 2024.05.29
#39 #027 41일차 240523  (0) 2024.05.24
#38 #026 39일차 240521  (4) 2024.05.21
#37 #025 38일차 240520  (0) 2024.05.20

1.

어제 수업 끝나고 뭔가 까먹은 거 같다 했는데 바로 글 쓰는 거였다 ㅇ.< 에헿

어제 멘토링하고 밥 먹고 검도 가고 하다가 까먹었다ㅎㅎ

 

2. 

UIKit 실습.. 원래 바로바로 따라 했는데, 갈수록 어려워진다... 그래도 대체로 실습 시간 안에는 해내는 중

내일은 Todo로 쌩 실습이다. 오전~오후 몇 시간 각자 하고, 강사님께서 보여주신다고. 

투두 너무 많이 했다 싶지만 그만큼 초보자들한테 직빵인 게 없기도 해서... 제대로 빡 해봐야징

 

3. 

으... 델리게이트... 하도 반복했더니 개념은 이해가 될 거 같은데 역시 혼자서는 무리다... << 강사님은 당연하다고 하셨다. 반복만이 살길이라고... 그래도 참고자료 있으니 얼마나 좋은 세상이냐고......

강사님이 코드 주셔서 이거 보고 두다다다 해야겠다...ㅋㅎ....

사실 실시간으로 계속 따라 쳤는데 아니 모달뷰 왜 안 나오는 거야 왜 코드 똑같잖아!!!!! 델리게이트고 뭐고 뷰가 안 나와서 확인도 못하고ㅋㅋㅋㅋ큐ㅠㅠㅠㅠㅠㅠ아오

 

4. 

커피... 계속 먹었더니 이젠 커피 없으면 오후를 버티지 못할 것 같다.... 나 교육 끝나기 전에 엄마가 가게에 있는 커피머신 좀 집에 갖고 오게 됐으면 좋겠네 정말 좋겠네

 

5. 

오우 씨 미친 시간 애매해서 쓰다가 덮어놓고 검도 갔다 와서 델리게이트 추가실습?까지 듣고 다시 쓰고 있었는데 뭔가 이상해서 복사해 놓고 새로고침 했더니 로그아웃 돼있었다. 어쩐지 임시저장 실패라고 뜨더라... 하마터면 1번부터 다시 쓸뻔했네

근데 뭐 별로 쓴 건 없으니까... 하지만 귀찮은 건 귀찮은 거다

'231205~241107 > 240325~240913 [iOS]' 카테고리의 다른 글

#41 #029 UIKit TabBar 만들기(w. GPT-4o) 240529  (0) 2024.05.29
#40 #028 42일차_실습 240524  (0) 2024.05.24
#38 #026 39일차 240521  (4) 2024.05.21
#37 #025 38일차 240520  (0) 2024.05.20
#36 #024 37일차 240517  (0) 2024.05.17

1. 

배고프다... 신나게 먹으면 소화 안될 거면서 고프다는 게 참 가증스럽다

 

2. 

코드를 따라 치면서 배우고 있는데, 코드가 달라질 때마다 프로젝트를 생성할 수 없으니 큰 컴포넌트를 프로젝트로 만들고 한 파일에 반복적으로? 진행 중이다. 강사님은 깃헙에 커밋 로그로 남기시지만 수강생은 그런 거 없으므로... 각자도생인데 난 노션에 정리 중이다. 

제목 지정하면 목차로 만들어주는 기능이 은근 좋다. 어제도 저렇게 할걸...

깃헙 개인 레포를 만들기는 좀. 어차피 프젝하면 많이 할 거다... 깃 연습을 할 거면 차라리 개인 프젝을 하나 만들어야지

 

3. 

일단 뭘 만들어야 는다고들 하는데, 뭘 만들지 알 수가 있어야 말이지... 투두나 계산기는 너무 많이 했다. 

강사님은 아무 앱이나 켜서 도형으로 화면 구상이라도 많이 해보라고 하셨다. 

물론 코드로. 스토리보드 너무 복잡하다...

프젝 할 때도 여러사람이 스토리보드로 하면 골치 아파진다고 한다. 이럴 땐 한 사람이 스토리보드로 작업한 걸 바탕으로 진행하는 게 좋다고...

 

4. 

저번에 동생이 동아리 활동으로 앱 기획하던데, 프젝할 때 여차하면 이거 쌔벼와야지 히히

기획자의 존재는 매우 소중하다. 

 

5. 

저번에 동생놈이 마우스 좌클릭 무지성 연타로 마우스를 아작 내놨다... 클릭이 10번 중에 2 3번은 씹힌다... 마우스는 이 일을 기억할 것이다. 

'231205~241107 > 240325~240913 [iOS]' 카테고리의 다른 글

#40 #028 42일차_실습 240524  (0) 2024.05.24
#39 #027 41일차 240523  (0) 2024.05.24
#37 #025 38일차 240520  (0) 2024.05.20
#36 #024 37일차 240517  (0) 2024.05.17
#35 #023 36일차 240516  (0) 2024.05.16

1. 

컨디션이 별로다. 밤에는 웬 개떡 같은 꿈 때문에 잠도 제대로 못 잤고, 피곤해서 커피는 먹어야 되는데 편두통, 소화는 안되는데 입은 뭔가 먹고 싶고. 대환장 파티

결국 쉬는 시간에 편의점 달려가서 과자 사 오긴 했는데... 이거 소화되려면 9시는 되어야 할 듯

호르몬 이슈 댕빡친다

ㅋㅋ인생

 

2. 

이번주부터는 UIKit 복습?이라고 할 수 있겠다. 오늘은 제약조건 뷰 이미지 등 시각적 요소? 위주로 배웠다...

역시 실습 시간에 따라 치는 건 문제가 되지 않는다. 나 혼자 할 수 있냐가 문젠데... 이건 자습으로 어떻게든 커버하는 수밖에. 

 

3. 

진짜.. 게임은 내 인생인데... 요즘 바쁘고 힘드니까 손이 잘 안 간다. 어제도 진짜 더 이상 미룰 수 없다 싶어서<<(?) 딱 한 시간 반만 하고 누워 잤다. 몸이 안 따라 주는 것 같아서 슬프다. 근데 그 시간에 공부해야 했던 거 아니냐?

 

4. 

컨디션이 별로라 그냥 다 하기 싫다... 아오 병원 가기도 귀찮아

병원에 가는 것 자체가 귀찮다기보다는, 평일에 병원을 가기 위해 수업 빼먹으려면 이거 저거 해야 되고 진도 놓치고 등등 사이드이펙트를 처리하는 게 너무 귀찮다. 주말에 가던가(불가능) 안 가고 말지

'231205~241107 > 240325~240913 [iOS]' 카테고리의 다른 글

#39 #027 41일차 240523  (0) 2024.05.24
#38 #026 39일차 240521  (4) 2024.05.21
#36 #024 37일차 240517  (0) 2024.05.17
#35 #023 36일차 240516  (0) 2024.05.16
#34 #022 34일차 240513  (0) 2024.05.13

1. 

항상 드는 생각인데... 스위프트 프레임워크는 혁신이라면서 XCode는 왜 이모양인가. 최악의 SDK. 그런 주제에 jetbrain 쪽 sdk 죽여놨다는 게 웃기다. 어차피 유료라서 못썼겠지만... 음!

 

2. 

UIKit의 난이도로 인한 이슈로... 실습 팀이 다음 주에 또 바뀐다고 한다 ._, 

끝나버렸다 난 시작도 안 해봤는데

프로젝트 UIKit로 할래 SwiftUI로 할래 설문조사 하길래 난 아무거나 상관없어서 중복 할랬다가 중복하면 어차피 UIKit이라길래 걍 UIKit 했다. 어떻게든 되겠지~

 

3.

멘토링 팀도 바뀌었다. 두 번째로 같은 팀 된 분이 있다. 뭔가의 데자뷰가.. 팀원 목록을 보니 다 줌 혹은 디코에서 한번 이상 뵌 분들이다. 근데 이번부터 기간이 줄어서 어떻게 흘러갈는지 감이 안 잡히는군

 

4. 

2번의 이슈로... 어제부터 개인으로 진행하던 실습은 강사님께서 속성으로 나가셨다. 마지막 코드 좀 남았는데, 오늘은 금요일이다......

사장님이 일찍 오라 그래서 지금 나가야 할 거 같다. ;-; 안 바쁘면 집 일찍 보내줄 거 아니잖아요

그냥 맥북 끄지 말고 덮어놓고 갔다 와야겠다......

'231205~241107 > 240325~240913 [iOS]' 카테고리의 다른 글

#38 #026 39일차 240521  (4) 2024.05.21
#37 #025 38일차 240520  (0) 2024.05.20
#35 #023 36일차 240516  (0) 2024.05.16
#34 #022 34일차 240513  (0) 2024.05.13
#33 #021 33일차 StoryBoard 240510  (0) 2024.05.10

1. 

결국 어제 음주코딩은 실패했다. 애초에 가면서부터 졸았는데 맥주 500cc? 3잔? 정도 먹고 5시에 집 와서 뻗었는데 깨니까 10시였기 때문이다. 30분만 잘랬는데... 계획을 세우지도 않았는데 왜 실패하는가

전날 5시에 자지를 말았어야지 도른자야...

 

2. 

UIKit... 너무 어렵다. 그래도 해야 는다는 생각으로 일단 컴퓨터 앞에 앉았다. 너무 하기 싫어서 프로그래머스 2문제(여전히 0단계) 풀고 시작하려다 글 안 쓰면 또 수익창출 조건 누락될 것 같아서 일단 글부터 쓴다. 양심에 찔려서 안 하고 있긴 하지만 그래도 하고 싶을 때 안 하는 거랑 못하는 거랑은 다르니까!

사실 여기는 헛소리용 블로그로 남기고 찐 공부용 블로그를 하나 더 팔까 싶기도 하다. 

 

3. 

서울 사는 수강생분들은 몇 번 만나기도 했다는데, 의외로 헬짱이 많나 보다. 하긴 줌으로만 보면 얼굴만 나와서... 프로틴 맛있게 먹는 방법 물어볼라다 참았다. 프로틴은 맛있을 수가...(말잇못

오늘 공격연습하다 상대방 죽도에 찔려서 팔에 멍들었는데 아프다. 다른 분(아마 사범님) 발에 박은 새끼발가락도 멍들어서 걸을 때 아팠다. 프로틴은 맛대가리 없었다. 튼튼발자의 길은 멀고도 험하다. 

 

4. 

코딩생각만 하면 숨이 막히고 심장이 떨리는데 이거 사랑인가요?

개소리다. 

'231205~241107 > 240325~240913 [iOS]' 카테고리의 다른 글

#37 #025 38일차 240520  (0) 2024.05.20
#36 #024 37일차 240517  (0) 2024.05.17
#34 #022 34일차 240513  (0) 2024.05.13
#33 #021 33일차 StoryBoard 240510  (0) 2024.05.10
#32 #020 31일차 240508  (0) 2024.05.08

1.

오늘은... 지난주에 했던 스토리보드를 코드베이스로 다시 진행해 봤다. 

코드로 해도 어려웠다...

 

2. 

점심시간에 30분만 자고 커피 사러갈까 하다 30분 마저 잤는데, 꿈에서 카누 아메리카노 타먹었다. 

맛없더라. 

 

3. 

강사님이 인정하는 강의 에이스 분의 iOS 공부 방법? 을 들었다. 

사실 이걸 듣는게 중요한 게 아니라 듣고 실천하는 게 중요한 게 아닐까...

기억에 남는건

1) 모르겠는 건 공식 문서를 보고 공부

2) 일단 아무 앱이든(클론코딩 등) 만들다 보면 뭘 모르는지 알 수 있다.

3) 글로 써서 표현하면 좋다

글이랑 정리를 지독하게 못하면 어떡하죠....?

 

4. 

멘토링 이번 팀 마지막 시간이었다. 시원 섭섭 아쉬운 기분...

DM으로 멘토님을 귀찮게 해드릴 수 있는데... 긴장하십시오 낄낄

사실 이래놓고 잘 안한다. 

멘토님은 적극적으로 참여해야 많이 얻어갈 수 있다고 하셨는데 ._.

노력해야지

 

5. 

https://developer.apple.com/tutorials/app-dev-training

 

Develop apps for Apple platforms | Apple Developer Documentation

Learn the basics of Xcode, SwiftUI, and UIKit to create compelling apps.

developer.apple.com

애플 공식 튜토리얼인데, 강사님이 시간 날 때 꼭 한번 해보라고 하셨다. 사랑하고 존경하는 부처님 오신 날에 해봐야징

아 근데 오빠가 맥주축제 가쟀는데... 음주코딩 가즈아~~~~

+ Recent posts