250522 iOS프로그래밍실무 12주차
·
iOS프로그래밍실무 (3학년 1학기)
시험에 잘 나오는 내용 prepare로 시작되는 메서드func prepare(for segue: UIStoryboardSegue, sender: Any?) 이러한 에러가 뜨는 이유 : Webkit을 import하지 않았기 때문이다.실습 후 최종화면 참고자료 : 한성현 교수님 수업자료
250515 iOS프로그래밍실무 11주차
·
iOS프로그래밍실무 (3학년 1학기)
struct MovieData : Codable서버/API에서 받아오는 데이터는 일반적으로 JSON 포맷Codable protocol을 채택하면 다음을 자동으로 대신 해줌JSONDecoder 클래스가 JSON → 구조체/클래스(디코딩)JSONEncoder 클래스가 구조체/클래스 → JSON(인코딩)클래스가 매칭되는 변수 이름만 맞추면 복잡한 파싱 코드를 직접 만들 필요 없음서버통신을 하거나, 파일 저장/읽기 기능을 구현할 때는 항상 Codable을 채택해서 정의함JSONDecoder : JSON데이터를 원하는 데이터 타입으로 변환func decode(_ type: T.Type, from data: Data) throws -> T where T : Decodable해당 코드가 에러나는 이유 : 에러처리를 ..
250508 iOS프로그래밍실무 10주차
·
iOS프로그래밍실무 (3학년 1학기)
kobis{"boxOfficeResult":{"boxofficeType":"일별 박스오피스","showRange":"20250507~20250507","dailyBoxOfficeList":[{"rnum":"1","rank":"1","rankInten":"0","rankOldAndNew":"OLD","movieCd":"20232394","movieNm":"야당","openDt":"2025-04-16","salesAmt":"324036920","salesShare":"26.7","salesInten":"-835406620","salesChange":"-72.1","salesAcc":"25557831850","audiCnt":"34587","audiInten":"-86753","audiChange":"-71...
250501 iOS프로그래밍실무 9주차
·
iOS프로그래밍실무 (3학년 1학기)
https://codebeautify.org/jsonviewer{ "boxOfficeResult": { "boxofficeType": "일별 박스오피스", "showRange": "20250501~20250501", "dailyBoxOfficeList": [ { "rnum": "1", "rank": "1", "rankInten": "2", "rankOldAndNew": "OLD", "movieCd": "20232394", "movieNm": "야당", "openDt": "2025-04-16", "salesAmt": "1329431600", "salesShare": "..
250417 iOS프로그래밍실무 7주차
·
iOS프로그래밍실무 (3학년 1학기)
열거형(enum)관련있는 데이터들이 멤버로 구성되어 있는 자료형 객체원치 않는 값이 잘못 입력되는 것 방지입력 받을 값이 한정되어 있을 때특정 값 중 하나만 선택하게 할 때열거형 멤버별 기능 정의열거형 멤버에는 메서드도 가능열거형의 rawValueString형 값을 갖는 열거형의 rawValue연관 값(associated value)을 갖는 enum옵셔널은 연관 값(associated value)을 갖는 enum구조체 : Memberwise Initializer 자동 생성기존에 배운 init과 class를 사용한지금 배우고있는 구조체 - Memberwise Initializer가 자동으로 만들어짐swift에서 구조체를 사용할 때와 class를 사용할 때의 차이점구분구조체클래스메모리 영역주로 스택(Stac..
240410 iOS프로그래밍실무 6주차
·
iOS프로그래밍실무 (3학년 1학기)
swift에서 ?와 !가 선언문과 실행문에서 쓰일 때 차이? (선언문): 옵셔널 타입 선언. 값이 없을 수도 있음을 명시합니다.! (선언문): 암시적 언래핑 옵셔널 타입 선언. 자동으로 언래핑되지만, nil일 경우 런타임 에러 위험이 있습니다.? (실행문 - Optional Chaining): 옵셔널 값이 nil이 아닐 때만 코드 실행. 안전하게 옵셔널 값에 접근할 수 있습니다.! (실행문 - Forced Unwrapping): 옵셔널 값을 강제로 추출. nil일 경우 런타임 에러 발생. 최대한 사용을 피하고, 꼭 필요한 경우에만 사용해야 합니다.옵셔널 체이닝을 쓰는 이유옵셔널 타입으로 정의된 값이 프로퍼티나 메서드를 가지고 있을 때, 다중 if를 쓰지 않고 간결하게 코드를 작성하기 위해옵셔널 타입의 데..
250403 iOS프로그래밍실무 5주차
·
iOS프로그래밍실무 (3학년 1학기)
Delegate나 DataSource를 사용하는 UI 컴포넌트스위프트 상속과 프로토콜 채택class 자식:부모 {}부모 클래스는 하나만 가능하며 여러 개라면 나머지는 프로토콜class 클래스명:부모명, 프로토콜명{}부모가 있으면 부모 다음에 표기class 클래스명:부모명, 프로토콜명1,프로토콜명2 {}class 클래스명:프로토콜명{}부모가 없으면 바로 표기 가능class 클래스명:프로토콜명1, 프로토콜명2{}클래스, 구조체, 열거형, extension에 프로토콜을 채택(adopt)할 수 있다.상속은 클래스만 가능TableView의 DataSource : UITableViewDataSource프로토콜필수 메서드 2개// Return the number of rows for the table.override..
250327 iOS프로그래밍실무 4주차
·
iOS프로그래밍실무 (3학년 1학기)
보호되어 있는 글입니다.