목록전체 글 (119)
BOID

안녕하세요, HoonIOS입니다. :) 저번에는 WKWebView의 기본적인 메서드에 대해 포스팅을 했습니다. 이번에는 기본 메서드가 아닌 델리게이트 메서드에 대해 포스팅을 해보려고 하는데요. WKWebView의 델리게이트 메서드 WKWebView는 델리게이트 메서드 패턴을 통해서 웹페이지 로딩상황을 추적하거나 콘텐츠나 사용자의 액션을 제어할 수 있도록 지원을 한다고 합니다. WKWebView의 델리게이트 프로토콜은 한개가 아니라 2개나 지원합니다. :) WKNavigationDelegate WKUIDelegate 그럼 한개씩 한번 애플 문서를 봐보겠습니다. :) 이 프로토콜은 사용자의 유저 인터페이스 요소들을 보여주기 위한 메서 드라고 합니다. 음 예를 들어서 새로운 웹뷰 창을 만든다든지 알림 창 패널..
안녕하세요, HoonIOS입니다. :) 프로그래머스에서 기초적인 진법 변환 알고리즘을 일일이 계산해서 풀려고 했는데 swift에는 진법 변환을 하는 문법이 있더라고요! 그래서 진법 계산할때 유용하게 사용하면 좋을 거 같아 포스팅을 하게 되었습니다. swift에서 n진법으로 구현을 하기 위해서는 radix:를 통해서 간단하게 구현을 할 수 있습니다. 한번 바꿔 볼까요? * 코드 설명 String(ten, radix: 2)의 문법은 변수로 받은 10의 10진법을 2진수로 바꿔주라 라는 말입니다. 즉 raidix에 해당하는 진수로 바꿔줘!라는 말과 같습니다. 원래 String( , raidx:)를 사용하면 String으로 반환을 하게 되는데 여기서는 Int형으로 변환을 해줬는데요, 그 이유는 없습니다... 그..
안녕하세요, HoonIOS입니다. :) 요즘 알고리즘 문제를 열심히 풀고 있는데요, 기본적이면서 편리한 것을 정리하면 어떨까 해서 한번 정리를 해봤습니다. 알고리즘의 꽃으로 배열의 길이를 구하고 그 배열의 길이만큼 for문을 사용을 해줬는데요, 그럴 필요가 없었습니다. 배열에. indicies,. enumerated()배열의 index를 구현하면 알차게 구현을 할 수 있습니다. indicies property indicies는 Collection 타입 에서 사용할 수 있는 프로퍼티로 스위프트에서 배열(Array), 딕셔너리(Dictionary), 세트(Set)가 있습니다. 해당 Collection타입에는 indicies 프로퍼티가 제공을 합니다. indicies란 SubScripting할수 있는 컬렉션 ..

안녕하세요, HoonIOS입니다. 저번 포스팅에서는 iOS에서 제공하는 웹뷰에 대해 포스팅을 했습니다. 해당 포스팅에서는 웹에 필요한 여러 기능을 직접 구현해줘야 했는데요, 이제 그 기능 구현을 위해서 제공하는 WKWebView 메서드에 대해 알아보겠습니다. 꿀팁을 하나 드리자면 WebKit 프레임워크에 속해있는 객체들은 WK가 앞에 붙습니다. WK가 앞에 있으면 오 이거 WebKit 프레임워크에서 사용하는 거구나!라고 생각을 하시면 될꺼같습니다. ㅎ 이제 WKWebVIew의 중요, 기본 메서드에 대해 포스팅하겠습니다. WKWebView 기본 메서드 load(_:) 이 메서드는 구현할때 사용했던 메서드로 HTML 파일을 읽어들이 때 사용을 했었습니다. 쉽게 말해 웹페이지를 로드한다고 생각을 하시면 될 거..

안녕하세요, HoonIOS입니다.:) 이번에는 카카오톡 메시지로 url링크가 오고 이것을 누르게 되면 웹페이지가 떠 사용자에게 웹 페이지를 보여주게 되는데요 이럴 때 웹뷰 객체를 사용해서 웹페이지를 뜨게 해 줍니다. 따라서 이번에는 이 웹페이지를 뜨게 도와주는 웹뷰에 대해 포스팅하려고 합니다. :) 웹뷰란? API를 통해서 받은 URL을 호출을 해보면 들어오는 응답 값은 JSON, XML 같은 데이터 포맷이 아니라 HTML로 웹페이지가 들어오게 됩니다. 만약 이렇게 데이터가 들어오게 되면 파싱을 해줄 수가 없습니다. 그래서 이런 HTML데이터를 처리해서 웹페이지로 보여주고 하는 게 웹뷰입니다. 웹브라우저를 구현하는 방법은 4가지가 있습니다. 사파리 앱 호출 UIWebView WKWebView SFSafa..

안녕하세요, HoonIOS입니다. :) 이번에는 테이블 뷰 컨트롤러를 만들지 않고 일반 뷰 컨트롤러에서 테이블 뷰를 구현해 주겠습니다. :) 처음에는 테이블 뷰컨트롤러를 쓰면 되지 굳이 테이블 뷰로 구현해줘야 되나? 그런 생각을 했었는데요 테이블 뷰 컨트롤러는 테이블 뷰를 만들 때 처리해야 되는 많은 것이 구현되어 있어 편안하게 사용을 했지만 단점이 두가지 있습니다. 루트 뷰 자체가 테이블 뷰로 설정되어 있어 테이블 뷰 위나 아래에 컬랙션 뷰를 넣거나 UI를 추가해주고 싶은데 이런 부분에서 제약이 있습니다. 즉 테이블 뷰 컨트롤러 위아래에 뷰를 추가하는 것은 되지만 여러 요구사항을 받아들이기는 힘든 부분이 있습니다. 그럼 간단하게 기본 뷰 컨트롤러 위해 테이블 뷰를 구현해보겠습니다. 테이블 뷰 구현하기 ..

안녕하세요, HoonIOS입니다. :) 비동기와 동기에 대해서는 개발 공부를 하다가 보면 많이 보이는 단어입니다. 비동기는 클로저에서 대표적으로 실행되는 처리입니다. 동기는 음....... 🤨 대표적으로 뭐가 있을까요... 흠.... 우선 비동기와 동기 처리의 뜻을 먼저 살펴보겠습니다. 비동기 & 동기 처리 구분 비동기 처리 기법 - 동시에 처리를 하는것으로 여러 일을 중복으로 처리하면서 실행을 하는 것을 말합니다. - 앞 명령이 일처리를 하고 있다가 추가 일처리가 생기면 아예 새로운 흐름의 일처리가 생기게 됩니다. 동기 처리 기법 - 일이 내려오면 들어오는 순서대로 차근차근 처리하는것을 뜻해 하나의 일을 완료할때까지 다음 일로 넘기지 않는다. ( 자료구조중에서 선입선출 역할일 큐라고 생각이 듭니다. )..

안녕하세요, HoonIOS입니다. 이번에는 페이징 처리에 대해 포스팅하려고 합니다. 많은 앱들이 메모리나 앱 관리를 위해서 많이 구현하고 있으므로 중요한 기술입니다. :) 페이징 처리란? 페이징 처리란 API의 총데이터에서 우리가 읽어오는 데이터는 일부에 불과합니다. 만약에 사용자가 화면에 보여주는 데이터 말고 다른, 더 많은 데이터를 원할 때 데이터를 추가해주는 기능이 필요한데 이것을 페이징 처리라고 하고 간단하게 더보기 기능이라고도 합니다. 페이징 처리기능이 생긴 이유는 API로 부터 받은 데이터는 전체 데이터가 아니라 일부 데이터만 받아오기 때문입니다. 그럼 한번에 받아오면 되잖아?라고 생각하시는 분들이 있을 수 있지만 이렇게 일부 데이터만 받아오는 이유는 몇십건 정도 작은 데이터를 받을 때는 상관..