DEV (51) 썸네일형 리스트형 REST API와 iOS에서의 네트워크 요청 및 응답 처리 방법 https://github.com/JeaSungLEE/iOSInterviewquestions?tab=readme-ov-file GitHub - JeaSungLEE/iOSInterviewquestions: 👨🏻💻👩🏻💻iOS 면접에 나올 질문들 총 정리👨🏻💻👩🏻💻iOS 면접에 나올 질문들 총 정리 . Contribute to JeaSungLEE/iOSInterviewquestions development by creating an account on GitHub.github.com 해당 깃허브의 면접 질문 중 14번 질문에 대해 공부를 했다. 14. REST API와 iOS에서의 네트워크 요청 및 응답 처리 방법에 대해 설명해주세요.REST의 제약 조건(Stateless, Cac.. [iOS/Swift] CollectionView, TableView 오류발생 프로젝트 도중 여러 오류가 발생했다.메뉴 CollectionView와 장바구니 TableView 둘 다 오류가 발생 했다.현재 페이징 O 버튼이 원래 3개였는데, 협업 도중 어디서 바뀐지는 모르겠지만 나중에 보니 2개로 되어있었다.블로그를 쓰고 있는 도중 pageControl 부분은 다른 분이 고치셨다고 한다. 하지만 아직 하나 더 남았다.원래 장바구니에 여러개 목록이 추가되어 스크롤이 가능한 상태일 때 장바구니에 메뉴를 추가하면 해당 위치로 스크롤이 자동으로 이동하게 구현했었는데, 어느새 그 기능이 동작안된다. 급하게 지피티를 이용하여 뷰를 작성해서 그런지 다시 고치려하니 코드도 잘 이해안되고 막막하게 느껴진다.CollectionView를 인터넷을 보며 공부하려 했는데 양이 왜이리 많은지 모르겠다.알고.. [iOS/Swift] UIStackView(arrangedSubviews: [ ]) 기존에 StackView에 subView들을 추가할 때 아래와 같이 따로 외부에서 .addArangedSubview()를 이용해 작성했었다.private lazy var scrollContentsVStack: UIStackView = { let stackView = UIStackView() stackView.axis = .vertical stackView.distribution = .equalSpacing stackView.alignment = .fill stackView.spacing = 24 return stackView}()[bookInfoView, dedicationView, summaryView, chaptersView].forEach { scrollCont.. [iOS/Swift] SwiftLint 적용해보기 (error: Sandbox: swiftlint(19427) deny(1) file-read-data) https://github.com/realm/SwiftLint GitHub - realm/SwiftLint: A tool to enforce Swift style and conventions.A tool to enforce Swift style and conventions. Contribute to realm/SwiftLint development by creating an account on GitHub.github.com SwiftLint는 Swift 코드를 일관된 스타일과 규칙을 적용해 주는 라이브러리다.이를 이번 프로젝트에 한번 적용해 보았다. 처음 설치할 때 나는 brew install swiftlint로 Homebrew를 이용하여 다운 받았었다. 설치 후 적용하기 위해서는 Targets -> .. [iOS/Swift] addTarget()과 Objective-C 셀렉터(#selector) 먼저 #selector는 Objective-C 런타임에서 메서드를 동적으로 호출하기 위해 사용하는 것으로, 주로 addTarget(action:for:) 같은 UIKit 메서드에서 버튼 클릭 등의 이벤트를 특정 메서드와 연결할 때 사용된다. 이런건 알고 있었지만 프로젝트 도중 #selector 관련하여 오류가 생겼다. 현재 함수에서 .addTarget() action: 부분에 함수 입력 시 매개변수를 받아, 각 버튼 별로 title과 titleColor, backgroundColor를 바꾸고 싶었다.func addSeriesButtons(_ seriesCount: Int) { for num in 1 ... seriesCount { let seriesButton: UIButton = { .. [iOS/Swift] UIKit 코드베이스 UIView 분리하기 (Unable to simultaneously satisfy constraints...) 오늘은 기존에 파일 한 곳에 전부 작성된 뷰들을 분리하는데 하루를 보냈다.. 아래처럼 뷰를 일단 분리하였다.MVVM을 이용하려고 ViewModel 파일을 임시로 만들었지만, 아직 MVC도 제대로 다룰줄 몰라 튜터님과 상담 후 일단 이번 과제에서는 MVC를 사용하기로 결정했다. 이번에 알게됐는데 View를 나누면 각 View 파일에 아래와 같은 코드를 작성해야 한다고 한다.override init(frame: CGRect) { super.init(frame: frame) configureLayout()}required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented")} CGRect 부분 in.. [iOS/Swift] JSON 파싱, @escaping, Result, Bundle, Completion Handler, Data(contentsof:) 등등 .. 스파르타 부트캠프 Ch 3. 앱 개발 입문 주차 과제로 책 시리즈 앱을 만드는 중이다.책 데이터가 json 파일로 제공이 되어었고, json 파일에 있는 데이터를 가져오기 위한 코드도 제공이 되어있다.아래가 주어진 코드이다.import Foundationclass DataService { enum DataError: Error { case fileNotFound case parsingFailed } func loadBooks(completion: @escaping (Result) -> Void) { guard let path = Bundle.main.path(forResource: "data", ofType: "json") else { .. [iOS/Swift] UIKit 원형 버튼 만들기 (feat. viewDidLayoutSubviews) 원형 버튼을 만들려면 버튼을 만들고 cornerRadius의 값을 맞게 변경해 주면 된다.아래와 같이 버튼의 크기값의 반을 layer.cornerRadius에 넣어주면 원형 버튼을 만들 수 있다.button.layer.cornerRadius = button.frame.width / 2 하지만 해당 코드가 내 뷰에는 적용이 안된다.button.frame.width를 print 해보니 0.0이라는 값이 뜬다.결국 button.layer.cornerRadius = 20 처럼 직접 넣어줘야 했다.왜 그럴까? Grok한테 물어봤다. 현재 코드에선 SnapKit으로 해당 버튼의 width, height 값을 설정해 주었고, 그 코드들은 아래 configureLayout() 함수에 들어있다.그래서 당연하게도 나중에 .. 이전 1 2 3 4 ··· 7 다음