반응형

읏차, IT차 326

[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로 캐스팅 하기 이전에 셀을 띄우는 ..

너무열받는다

너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다 너무 열받는다

카테고리 없음 2022.03.12

[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

[Swift] 10-1 Dictionary

Dictionary란? Array와 마찬가지로 집합의 한 가지 종류인데 Dictionary는 순서가 없습니다. key와 value의 짝으로 구성되어 있습니다. 값을 의미 단위로 찾을 때 유용합니다. (Array는 순서 단위에 편리함) 1. Dictioinary로 데이터 집합을 묶는 방법 2가지 각각은 key: value 형태로 저장됩니다. 2. 실제로 데이터가 있는지 확인 해보면 chassi와 ming은 실제 key와 value값으로 들어갔기 때문에 존재하지만 ddongchul은 값을 넣어주지 않기 때문에 nil로 출력됩니다. 3. Dictionary를 다 비워보도록 하겠습니다. = [:] 가 Dictionary를 완전히 비우는 데에 사용됩니다. Array와 마찬가지로 .isEmpty는 자료 값을 확인하..

iOS/Swift 문법 2022.03.05
반응형