본문 바로가기

iOS50

[복습] Part 13 타입 캐스팅 | is, as 연산자, 상속, 다형성, Any, AnyObject 1) is 연산자 / as 연산자is 연산자: 인스턴스 타입을 검사함class Person{ var name = "이름"}class Student{ var id = "20181234"}var lily = Person()//is 연산자 사용lily is Personlily is Student as 연산자: 인스턴스 타입의 힌트를 변경하는 연산자(한 마디로 타입 변환) 하위 클래스 타입 ⊂ 상위 클래스 타입 이기 때문에as- 업캐스팅 : 상위 클래스의 타입으로 변경 -> 항상 성공let person = undergraduate as Person as? / as!- 다운캐스팅 : 하위 클래스의 타입으로 변경-> 실패 가능성 있음let person = Person as? Femalelet person.. 2024. 9. 11.
Swift 입력 받기 1. readLine() 함수: 콘솔로 부터 한 줄의 문자열을 읽어들이는 함수 if let input = readLine() { print("입력 값 : \(input)"}// let input = readLine()! - 입력 값을 String? (옵셔널)으로 반환    -> String이기 때문에 다른 타입을 원할 경우 타입 변환 필요    -> ? 이기 때문에 언래핑 필요 숫자 입력 처리if let input = readLine(), let number = Int(input){ print("입력한 숫자 : \(number)")} 여러 값 입력 처리if let input = readLine(){ ler numbers = input.split(separator: " ").compactMap { Int.. 2024. 9. 8.
속성과 메서드를 붕어빵으로 아라보자 붕어빵낫띠 이번 게시글은 붕어빵으로 이해하는데 초점을 두었습니다!제대로 된 개념이나 예시는 다른데서도 많이 찾아볼 수 있기 때문!!!클래스와 구조체클래스(Class)와 구조체(Struct)🍞 붕어빵을 만드는 틀틀에는 붕어빵의 모양과 특성이 정의되어 있습니다. 붕어빵 틀에는 어떤 반죽을 사용하고, 어떤 필링(예: 팥, 슈크림)을 넣을지에 대한 정보가 들어있습니다.class BungeoppangMold { var filling: String init(filling: String) { self.filling = filling }}let redBeanBungeoppang = BungeoppangMold(filling: "Red Bean") //팥붕let custardBung.. 2024. 8. 6.
[앨런 Swift문법 마스터 스쿨] 3주차 시험 오답 노트 3주차 시험에 대한 오답 노트를 작성하면서개념들을 다시 정리하고 부족한 부분을 보완하겠어요 ! ⭐️ : 정답 혹은 더 나은 답❌ : 내가 쓴 오답 [ 1번 문제 ]랜덤 값을 이용해 배열의 엘리먼트 출력하기var result = array[num % 4]//⭐️var result = array[num % array.count]: 나는 배열 속 엘리먼트 갯수가 4개라 %4를 썼지만.count를 사용하는게 유연성에 좋음 [ 4번 문제 ] 배열 속 가장 큰 숫자 찾기var numArray = [4, 0, 1, 7, 9, 3]func findMaxNumber(array: [Int]) -> Int{ var maxNum = 0 for i in numArray{ if i > maxNum{ .. 2024. 8. 5.
[앨런 Swift문법 마스터 스쿨] 열거형 case 패턴, 속성과 메서드 정리 복습! 0. 복습을 합시다 진도의 압박 속에앞 내용을 이해 못하고 뒤로 갈수록 더더 이해가 안되고 있다!주말 기념 이해가 잘 안됐던 앞 내용 복습하기 아직 이해가 잘 안되는 것들은 보라색으로 배경색을 줬다. 직접 코드를 만지다 보면 사용해야 하는 이유를 알지 않을까 싶다.. 1. 열거형 case 패턴enum Computer { // 3가지로 정의 case cpu(core: Int, ghz: Double) case ram(Int, String) case hardDisk(gb: Int)}switch chip {...중략}//열거형 case 패턴if case .hardDisk(gb: let gb) = chip { print("\(gb) 하드디스크임")}//배.. 2024. 7. 27.
[앨런 swift문법 마스터 스쿨] 클래스, 초기화 함수 init, self class Dog1 {    var name: String    var weight: Int        // 생성자    init(n: String, w: Int) {        self.name = n        self.weight = w    }} self란?self는 클래스, 구조체, 또는 열거형의 인스턴스 자체를 가리키는 키워드입니다.주로 생성자에서 인스턴스 변수와 매개변수를 구분할 때 사용됩니다.예: self.name = n은 인스턴스 변수 name을 매개변수 n으로 초기화합니다.또한, 메서드 안에서 인스턴스의 다른 속성이나 메서드에 접근할 때도 사용됩니다.self를 통해 인스턴스 변수를 명확히 구분할 수 있어 코드가 더 명확해집니다.예: print("Name: \(self.name)").. 2024. 7. 22.
[앨런 Swift문법 마스터 스쿨] 2주차 시험 오답 노트 나름 강의 듣고 복습까지 했는데은근 모르겠는 + 당황스러운 문제들이 많아서공부를 더 열심히 해야겠다고 느꼈다 ㅎ 역시 보기만하면 공부가 아니라내 것으로 만들어야 한다!/**================================================================== [2번 문제] - 프로그래밍에서, 표현식(Expression)이 어떤 의미인가요? 아는대로 작성하세요. ===================================================================**/// 오답 : 결과가 나오는 식✅// 계산의 결과가 어떤 하나의 값으로 나올 수 있는 문장// (예시) num + 5/**======================================.. 2024. 7. 20.
[앨런 swift 문법 마스터 스쿨] 열거형, 옵셔널 타입, 옵셔널 열거형 0.횟아 다니면서 진도 따라가기 쉽지 않군뇨,,,열시미 해보겠읍니다. 지난번 포스팅에서 컬랙션( ~set) 까지 하였으니오늘은 열거형 복습 ! 1. 열거형( Enum )custom type : 개발자가 마음대로 만들어서 쓸 수 있는 사용자 정의 타입- Enum : 열거형- Class : 클래스- Struct : 구조체 //기본 열거형enum Typename { //대문자로 시작 case type1 //케이스 이름은 소문자로 시작 case type2 case type3}//사용var x: Typename = Typename.type1var x: Typename = .type1//원시값을 가진 열거형enum Typename:Int { //Int or String -> Int는 숫자가 매칭, Str.. 2024. 7. 20.
버튼 참고 사항 button의 style을 Default로 선택해야 많은 선택지들이 나옴! (Text 설정 등등)그리고 이걸로 해야 버튼 눌렀을 때 title 값이 나옴 2024. 7. 20.