iOS12 앱 개발 퍼펙트 가이드

iOS12 앱 개발 퍼펙트 가이드

(7개의 수강평)

114명의 수강생
77,000원
지식공유자 · iOS Developer
85회 수업 · 총 19시간 27분 수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 '입문, 초급, 중급'
김승원 프로필

강의를 거의 끝나가는 시점에 궁금한 점이 있습니다. 김승원 1일 전

강사님 말씀대로 정말 좋은 강의인것 같습니다.

거의 모르던 저에게 조금이나마 방향을 갖게 해주었던 강의였던 것 같습니다. 다만 아쉬운 점이 유지보수를 위해 폴더관리 하는법, MVVM 패턴 같은 강의도 있었으면 좋겠습니다.. ㅠㅠ

1
김승원 프로필

라벨과 버튼을 뷰로 묶어서 hight사이즈 조절이 안되요 ㅠㅠ 김승원 2일 전

영상에서는 상하 좌우 0 0 0 0 으로 하는데 

저도 따라서 치고 적용시켰는데

standard로 바뀌면서 0이 적용이 안됩니다 ㅠㅠ 그리고 나서 다시 사이즈 바꾸러 들어가보면 원래 처음에 있던 기본값으로 설정되어있네요 왜그러나요 ㅠㅠ xcode버전은 11.3입니다 

1
김승원 프로필

강의를 듣기전 궁금한 것이 있습니다. 김승원 4일 전

이 강의를 다 듣고나서 오토레이아웃을 들어야 하나요? 아니면 이강의를 들으면서 같이 들어도되는건가요? 궁금해요!!

1
Apensia (dhstar914) 프로필

안녕하세요 시뮬레이터 질문 있습니다. Apensia (dhstar914) 1달 전

안녕하세요. 시뮬레이터로 play하고자 하는데 Generic iOS Device로만 연결이 되어 있어서 

"A build only device cannot be used to run this target" 에러가 뜹니다. 혹시 어떻게 해결하는지 아시나요?ㅠ

4
김동현 Kim 프로필

UISearchController 표시 관련 질문 드립니다. 김동현 Kim 1달 전

 override func viewDidLoad() {

에서 다음과 같이 호출하면 정상적으로 보이는데

let searchVC = UISearchController(searchResultsController: nil)

        searchVC.searchResultsUpdater = self

동적으로 보여주기 위해서 navigation bar item에서 action으로 호출해서 추가하려고 하면 화면에 콘트롤이 추가가 안 됩니다.

@IBAction func actionShowSearch(_ sender: Any) {

        let searchVC = UISearchController(searchResultsController: nil)

        self.navigationItem.searchController = searchVC

    }

혹시 viewdidload할 때와 다른 부분이 있을까요?

3
보채지마오 프로필

optional 변수 질문 있습니다. 보채지마오 2달 전

var name: String?

var nick: String!

옵셔널를 ?, ! 둘다 쓰더라고요.

!: 강제 언랩핑 기호로 알고 있었는데...

변수선언에서 ?, ! 이 둘의 차이점은 뭘까요?

2
습득자 프로필

질문드립니다...ㅠ 습득자 3달 전

안녕하세요. 공부도중 저만의 앱을 만들어보고 싶어서 강의 내용 번외로 질문을 하나 드려도 될련지요?

혹시 앱내에서 카메라 기능을 원하는 시간대에만  사용할 수 있고 나머지 시간에는 사용하지 못하도록 하려면 어떤 부분을 건드려야하는지 약간의 조언좀 해주시면 감사하겠습니다ㅠ

1
습득자 프로필

질문입니다. 습득자 4달 전

self.presentingViewController?.dismiss(animated: true)

위 식에서 presentingViewController 뒤에 ? 을붙여 옵셔널 타입으로 왜 변경해서 써야하는지 궁금증이 있습니다!

1
습득자 프로필

질문입니다 습득자 4달 전

안녕하세요 수강생입니다.

옵셔널 바인딩 할 때 if let 변수명 = (nil값대입) 시 false를 반환하는 이유가

변수나 상수는 nil를 넣을 수 없는데 넣으려고해서 값이 안들어간 상태라 false가 나오는 원리가 맞나요?

guard문을 공부하다가  질문이 생겼습니다.

왜 옵셔널 바인딩 할 시 if var 변수명으로 쓰지않고 if let 변수명 으로만 바인딩하나요?

또 guard let 변수명 = 조건 else{

}  대신

guard var 변수명 = 조건 else{

}

이런식으로 let대신 var를 쓰지 않는 이유가 궁금합니다.

1
습득자 프로필

안녕하세요 질문드립니다. 습득자 4달 전

반갑습니다. 열심히 수강중인 학생입니다.

class SomeClass{

  var first = 10

  var second = 20

  

 // var total1 = first + second    불가능  func으로 해야함

  

  func total2() -> Int {

  return first + second

}

 

  var total : Int {

    get{                             // get만 있을 경우 get {} 생략 가능

      return first + second

    }

 

  }

}

 

var someClass = SomeClass()

var someClass1 = SomeClass.init()

 

위 부분에서

var someClass = SomeClass()

var someClass1 = SomeClass.init()

위에 두줄이 같은 의미인가요? 인스턴스 생성한다는?

 

 

1
습득자 프로필

계산 프로퍼티 질문입니다. 습득자 4달 전

안녕하세요. 강의 잘 듣고있습니다.

질문드리겠습니다.

계산 프로퍼티는 틀이 기본적으로

var computedP : Int {

}  이렇잖아요?

근데 { }  이부분이 어디서 유래되어서 나온 틀인지 궁급합니다.

함수처럼 안에 코드를 작성하기때문에 {}를 사용하나요? 

인터넷에서 검색해보았지만,

스위프트에서 계산프로퍼티 기본 틀을

var computedP : Int {

}   이런식이다 라고 딱 명확하게 명시해주는 글을 보지 못해서 헷갈립니다. 

 

또 다른 질문이 있는데

왜 

 var first = 10

  var second = 20

  

 // var total1 = first + second    불가능  func으로 해야함

클래스 안에서  주석처리한 부분처럼 작성이 안된다는건 이해했는데

어떤 이유에서 안되는지 궁금합니다.

왜 계산프로퍼티나 함수안에서만 가능한건가요? 

 

1
습득자 프로필

클로저 질문입니다. 습득자 4달 전

안녕하세요 공부하다 질문드립니다.

closure : (String)  -> Bool

 

여기서 closure는 매개변수명이고, (String)-> Bool이 매개변수타입이잖아요?

근데 타입에는 String, Int , Doble 타입 등이 올수 있는데

 

(String) -> Bool 이란 타입이라고 이해했는데 맞는지요?

또 , 왜 (String) -> Bool 이 클로져 타입인지 모르겠습니다.

 

클로져 타입의 기본틀은 { ( ) -> type in code }

이렇게 알고있는데

어째서 (String) -> Bool 이 부분이 클로져라고하는건가요?

1
습득자 프로필

질문이있습니다. 습득자 4달 전

    df.dateFormat = "mm"

실습중 이부분에서 mm 대신 yy로 바꾸보았는데

사진 첨부한것 처럼 70:01:02 이런식으로 나옵니다 왜 년도나 시간 yy,hh 는 00이 안나오는건가요?

스타트 버튼 누른후 1시간이 지나거나 1년이 지나야    00에서 바껴야하는거아닌가요?

1
김동현 Kim 프로필

table에서 RatingView의 변경을 막는 방법에 대해서 질문 드립니다. 김동현 Kim 4달 전

#1 RatingView에 편집 가능하다 아니다 의 bool 변수를 두고 tableview cell에 해당 변수를 set하는 방식

 

#2 RatingView를  버튼 동작을 제외하고 base로 만든다음에

tableview Cell엔 해당 base class를 쓰고 detail에선 편집이 가능한 아들 클래스를 쓴다 

 

정도가 가능할 것 같은데 혹시 다른 추천 방법이 있을까요?

 

3
자료구조와c 프로필

고생많으십니다 질문드릴께 있어 연락드립니다 자료구조와c 5달 전

고생많으십니다 강의 수강중에 질의가 있어연락드립니다.

Sign in 까지 강의에서는 Tableview를 통한 별도 xib 작성과 프로그래밍을 통해 화면 전환을 했었는데

Food Meal 강의 경우는 Interface builder를 통해 테이블 뷰 작성, 화면전환 강의를 해주셨습니다.

 

우선 Food Meal의 화면들을 별도 storyboard로 만들고 테이블뷰셀 역시 별도 xib 를 만들어

화면 구성 밑 화면 전환으로 프로그램을 수정해보고 있는데

현재까지 2가지 문제가 발생했습니다.

1. 별도 테이블뷰셀을 별도 xib로 구성후 테이블뷰에서 해당셀을 호출하는경우,

   별도 xib파일에 설정한 autolayout이 먹지 않고 셀의 좌측 상단부터 모든 객체들이 겹치게 나옵니다.

   구글 검색등을 통해 비슷한 사래는 많이 확인이 됐는데 정답은 찾지 못하여 부득이 강사님께 질의드립니다.

 

2. Food Meal의 tableview를 터치시 

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        let memoViewDetailNaviCT = UIStoryboard(name: "MemoViewDetail", bundle: nil).instantiateViewController(withIdentifier: "MemoViewDetail")

        

        self.navigationController?.pushViewController(memoViewDetailNaviCT, animated: true)

}

이 메소드를 통하여 네비게이션 컨트롤로를 인스턴스화 하여 화면전환을 하게 되면

네비게이션 바버튼에 back버튼이 자동활성화가 되는데

예제진행시 별도 화면성 cancel 버튼을 작성시 back 버튼이 비활성화되고 cancel버튼이 활서와 됩니다.

현재 별도 storyboard상에 화면을 구현하고 있기때문에 생각으로는

prepare와 segue로 접근해서 segue identifier를 통해서 cancel, back버튼을 구분하여 생성해야 하지 않나라고 생각은드는데

어떻게 코드화를 해야할지 모르겠습니다.

 

상기 기재한 내용에 대해 답변 부탁드립니다-

 

 

 

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스