반응형

iOS 146

[Swift] 뮤직 플레이어 코드 / 싱글 톤 객체 만들기

싱글톤 객체 만들기 싱글 톤 객체는 플레이어를 매번 생성하는 것이 아니고 하나만 만들고 객체로 불러서 사용 하는 것입니다. static let shared = SimplePlayer() let simplePlayer = SimplePlayer.shared //돌려쓰는 플레이어를 가져와서 사용하겠다는 의미입니다. 여기서의 SimplePlayer()는 Class를 만들어 플레이어 현재 진행 시간, 총 길이, 곡정보의 정보를 담고 있습니다. SimplePlayer에 현재 시간, 곡의 총 길이, 곡 정보 넣기 ※ private let player = AVPlayer() 곡의 현재 진행 시간 불러오기 var currentTime: Double { return player.currentItem?.currentTim..

[Swift Error] CollectionView 시뮬레이터 안뜨는 오류

빌드는 성공했는데 시뮬레이터를 끄면 Thread 1: Signal SIGTERM ? 사실 코딩하면서 Thread 1: Signal SIGTERM 은 많이 보는 오류이고, 원인도 다양한 오류인 것 같습니다. 이것은 제 내공이 좀 쌓이면 깊게 분석좀 해보겠습니다. 후후 빌드 문제 없음. CollectionViewCell들과 Outlet들 간에 연결 오류 표식 없이 완료. CustomClass 상속 확인. Collection ReusableView에 Identifier 확인 맥북 껐다 켜기 Shift + Command + K로 캐쉬 리프레시 위 사항들을 확인 한 이후에도 시뮬레이터에서 ViewController로 설정한 친구들이 보이지 않는다면 뷰를 세밀하게 조정해볼 것 강사님께서는 CollectionView..

[Swift Error] Outlet이 Connection Inspector에 안뜸

분명히 Identity Inspector에 CustomeCell을 연결했는데, Connection Inspector에 뜨지 않는 현상을 경험했습니다. 처음에 아무 것도 모르고 이름이 똑같으니깐, 1에 있는 Name을 복사해서 Identity Inspector에 입력 했지만 아래 사진과 같이 Outlet에 표시가 안되는 것이였습니다. ??????????????????????????????? 해결책 처음 사진에 있는 사진의 2번과 같이 Class에 선언한 객체이름을 복사해서 붙여 넣으면, Outlet 연결이 활성화 됩니다. 저 이후로는 ○를 해당하는 CollectionViewCell에 끌어다가 할당해주시면 연결이 됩니다.~ P.S 아직 해결을 못본 Outlet 오류가 있는데, Class 설정 하고 코딩하는..

[Swift] MVVM Design Pattern

MVVM패턴의 목표 1. 기술 부채를 최소화 2. 재사용 및 지속 가능한 코드 만들기 MVVM이전에 사용 하던 MVC에 대해 간략하게 이해해 보겠습니다. MVC패턴이란? Model - View - Controller Model = 데이터(Struct) View = UI요소(UIVIEW) Controller = 중계자 (UIViewController) Model 스스로 데이터 변경 -> 컨트롤러에 변경알림 컨트롤러 -> 바뀔 필요가 있다-> 모델 업데이트시킴 컨트롤러는 -> 뷰에 이렇게 보여줘야겠다 -> 직접 의사소통 view는 사용자와 인터랙션하는 것을 컨트롤러와 소통 뷰컨이 너무 많은 일을 해서 너무 massive해짐. MVVM이란? Model - View -ViewModel의 약자 현재 제일 널리 쓰..

[Swift] List 형태 어플1-3 /Segueway로 연결된 ViewController간 데이터 넘기기

 segueway로 연결 된 ViewController간 데이터 넘기기 과정 1-1. ViewController에서 클릭이 됐을 때 segway를 수행하는데 1-2 준비 할 때 데이터를 미리 넘겨주고 싶다. 1-3 데이터의 대한 힌트를 호출 시점에 넣어준다. 2-1 segueway 수행 직전에 준비하는 단계가 있다. 2-2 준비한 데이터와, 데이터에 대한 힌트 작성 2-3 힌트를 가지고 몇 번째 인지 데이터에서 해당하는 index를 가져와서 3. DetailViewcontroll에 꽂는다. => 준비완료 4. 데이터를 가지고 segueway를 타고 5. viewDidLoad시점에는 메모리만 올라오고 뜨지는 않은 상태 6. 뜨기 직전에 UIcomponent를 다 업데이트(updateUI)시킨다. 단계별로..

[Swift] List 형태의 나열 어플 1-2 -> CustomCell

CustomCell이란? UIViewController에서 마음대로 셀형식을 추가하는 기법을 말합니다. StoryBoard에 그리고 class를 ListCell로 설정한 뒤 각각을 할당해 줍니다. ※ 여기서 버그로 ListCell을 받지 못하고 있는 경우가 있는데 그럴 경우 드래그로 직접 끌어주셔야 연결 됩니다. List에 나타날 nameList와 bountyList를 할당 이후에 시뮬레이터를 돌려보면 chassi 1302938만 Listcount만큼 나오는데 아직 namelist와 bountylist 값이 할당이 안됐기 때문입니다. 캐스팅 이후에 값을 할당하고 index값으로 불러오겠습니다. UITableViewCell에 할당 된 값을 이전에 할당한 ListCell로 캐스팅 하기 이전에 셀을 띄우는 ..

[Swift] List 형태의 나열 어플 1-1

UITableView는 cell을 recycle해서 보여줍니다. Why? 보여주는 list는 20개인데 80개를 다 띄워놓을 필요 없기때문입니다. 컴퓨터 입장에서도 효율적인 작업 테이블 뷰 셀 몇 개? (필수) -> UITableViewDataSource, 테이블 뷰 어떻게 보여줄까?(필수) -> UITableViewDataSource, 테이블 뷰 클릭하면 어떻게할까?(선택) ->UITableviewDelegate Protocol 어떤 서비스를이용하기 위해 해야할 일들 TableView Protocol은 여기서는 테이블 뷰 서비스를 쓰기 위해 해야 할 일 1. 먼저 UITableViewDataSource에 해당하는 프로토콜들을 이행해 보겠습니다. UITableViewDataSource 1. func ta..

[Swift] D11, Closure 심화

Funtion(Global)과 Closure의 차이점 Funtion 이름이 있다 func 키워드 필요하다 Closure 이름 없다. func 키워드 필요가 없다. Funtion과 Closure의 공통점 인자 받을 수 있다 값 리턴할 수 있다. 변수로 할당할 수 있다 First ClassType이다. First classType이란? 변수에 할당할 수 있습니다. 인자로 받을 수 있습니다. 리턴 할 수 있습니다. Closure가 실무에서 언제 쓰일까요? Completion Block Higher Order Funtions Completion Block (=완료됐을 때 실행되야하는 블록) ex. 네트워크를 통해서 데이터를 받아온다고 할 때, 네트워크 환경에 따라 빨리, 혹은 늦게 받아질 수 있는데 그 상황이 ..

iOS/Swift 문법 2022.03.08

[Swift]D10-3 Closure

closure란?= 이름이 없는 메소드 (사전 뜻은 폐쇄) ex) ok 버튼을 눌렀을 때 수행해야 하는 코드 블록 1. 클로저는 두 가지로 이루어진 객체입니다. / 하나는 내부 함수이며, 또 다른 하나는 내부 함수가 만들어진 주변 환경입니다. 2. 클로저는 외부 함수 내에서 내부 함수를 반환하고, 내부 함수가 외부 함수의 지역 변수나 상수를 참조할 때 만들어집니다. 즉 클로저란, 내부 함수와 내부 함수에 영향을 미치는 주변 환경을 모두 포함한 '객체'입니다. 무슨 말인지 모르겠으니 예제를 통해 알아보도록 하겠습니다. Closure의 표현식은 다음과 같습니다. { (매개변수) -> 반환 타입 in 실행할 구문} 1. 두 개의 수를 곱하는 Closure을 만들어 보겠습니다. 위 표현식에 따라 어디가 Clos..

iOS/Swift 문법 2022.03.06
반응형