분류 전체보기326 [Gesture Recognizer] Long Press [Gesture Recognizer] Long Press 서론 핸드폰에서 지원하는 제스쳐란 그냥 단순하게 화면을 터치할 수도 있고, 길게 누를수도 있고, 두손가락으로 확대할 수 도 있고, 화면도 넘길 수 있다. Declaration @MainActor class UILongPressGestureRecognizer : [UIGestureRecognizer](https://developer.apple.com/documentation/uikit/uigesturerecognizer) Overview [UIGestureRecognizer](https://developer.apple.com/documentation/uikit/uigesturerecognizer)의 하위 클래스이다. 사용자는 작업이 트리거되기전에 뷰.. 2022. 3. 25. TIL220324_에러처리 Do try catch TIL220324_DoTryCatch Category: isGrammer Langu: Swift Tag: API, JSON isGrammer: No isOK: No isPosted: No isRad: No isRead: No isSecret: No 공부날짜: 2022년 3월 24일 생성일시: 2022년 2월 25일 오후 3:59 선행지식: Codable, EscapeClosure, HTTP, OptionalBinding, URLSession 최종편집: 2022년 3월 24일 오후 4:59 추가개념?: No 환경: Xcode 서론 선행 지식 오류처리의 과정 오류 처리에는 다음 세 가지 과정이 필요합니다. 오류의 종류 정의하기 발생한 오류 던지기 던진 오류 처리하기 1. 오류의 종류 정의하기 (선택사항) .. 2022. 3. 24. URLSession에 대하여 알아보기 TIL220323_aboutURLSession 포스팅기반 → https://techblog.woowahan.com/2704/ 서론 서비스를 개발하는 것에 있어 API를 호출하고, 데이터를 받는 것은 매우 중요하다. API를 사용하지 않는 App은 한정된 정보만 가지고 있을 수 밖에 없다. 이번 글에서는 Swift를 사용해서 HTTP통신을 통해 서버와 통신하는 법을 알아보겠다. 선행 지식 📌 HTTP통신 (미정리) 📌 URLSession과 URLSessionTask 📌 탈출클로저 📌 Codable 📌 Optional Binding 기본적으로 서버와 통신하기 위해서는 아래 두가지 방법을 사용할 수가 있습니다. URLSession , URLRequest를 이용한 요청방식 Alamofire라이브러리를 이용한 요.. 2022. 3. 23. MVC의 한계 이 게시글은 공부한 내용을 정리한 것으로 수익창출을 하지않습니다. 역할이 명확히 구분된다면 좋겠지만 실상은 그렇지 못하다. 1. Apple의 MVC는 View와 Controller가 너무 밀접하다. Apple의 MVC에서는 ViewController라는 이름에서도 볼 수 있듯이 View와 Controller가 굉장히 밀접하게 연결되어있다. ViewController는 Controller의 역할뿐만 아니라 View의 life cycle에도 관여하고 있는 것이 현실이다. 이때문에 Model은 분리하여 테스트를 할 수 있어도 View와 Controller는 서로 강하게 연결되어있어 테스트가 어렵다. 2. 뷰, 모델에 맞지 않는 모든 비즈니스 로직들은 Controller에 들어가게 된다. 모델이나 뷰에 넣기 애.. 2022. 3. 22. 비즈니스 로직 비즈니스 로직 정의 위키백과를 살펴보면 아래와 같이 정의되어있다. 비즈니스 로직 (Business logic)이란 컴퓨터 프로그램에서 실세계의 규칙에 따라 데이터를 생성·표시·저장·변경하는 부분을 일컫는다. 유저가 바라는 결과물을 올바르게 도출하기 위해서 꼭 필요한 과정이기에 프로그래밍에서 빠질 수 없는 요소이며, 응용 프로그램의 핵심이 된다. 비지니스 로직은 유저가 바라는 결과물을 코드로 옮기므로 코드가 자주 변경되므로, 코드 품질도 매우 중요합니다. 비지니스 로직이 정리되지 않고 이곳 저곳 산재 배치되면, 코드 관리가 어려워지고, 개발을 어렵게 하는 요인이 될 수 있다. 그로 인하여 생산성, 품질등이 저하 된다. 비즈니스 로직은 정말 중요하지만, 유지보수 와 확장성을 고려한 코딩을 하기란 쉽지 않습니.. 2022. 3. 21. 애드센스 Google sellers.json 파일에 게시' 해결 방법 그동안 블로그 수익화에는 딱히 생각없이 블로그를 운영해오다가 얼마전부터 수익화 과정을 진행하고 있다. 그건 따로 날을 잡아서 리뷰하는 것으로 하고! 오늘은 구글 애드 센스화면에 등장한 Google sellers.json 파일에 게시 라는 에러를 해결하는 방법에 대해 포스팅 해보려고 한다. 별거없이 갑자기 등장한 이 화면. 너무나 간단한 작업이었다. 쫄지말자. 작업을 누르면 아래 순서의 2번 작업이 자동으로 된다. 1. 애드센스 계정 로그인 2. 메뉴 '계정' 클릭 3. 아래와 같이 '내부용'으로 체크되어 있는 것을 '공개'로 클릭 4. 비즈니스 도메인은 개인 호스트네임이 있는 경우만 입력한다. 모든 작업은 수정하면 실시간으로 저장된다. 2022. 3. 21. TIL 로컬라이징, 써드파티 1. 로컬라이징 현지화, 그 나라의 실정에 맞추어서 수정하는 것을 로컬라이징 이라고한다. let us: Go! 세미나 내용 중 앱 내 디자인에 있어, 탭바의 레이블이 사라질 경우 장점은 무엇일까 에 대하여 → 네이버 웹툰 앱 탭바 하단에 레이블을 생성해두면 해당 나라에서만 사용하는 것은 상관없지만 여러 나라를 타겟으로 출시하는 경우, 각 나라에 맞게 번역을 해야하는 상황 발생 페이스북 같은 경우는 레이블을 없앤 상태 탭바 하단의 레이블이 사라질 경우, 로컬라이징이 쉬움 본격적인 로컬라이징은 나중에 정리 https://zeddios.tistory.com/368 2. 써드파티(Third party) 써드파티의 위키백과 설명은 아래와 같다. "기본적으로 '제 3자'를 뜻하는 단어. 이 제 3자가 어떤 분야의 .. 2022. 3. 19. 로그를 출력할 때 사용하는 함수들 Swift에서 콘솔창에 로그 쉽게 출력하는 방법이다. 보통 로그에 날짜, 파일명, 메소드명, 라인을 작성하려면 아래와 같이 작성한다. print("\\(Date()) \\(#file.components(separatedBy: "/").last ?? "") \\(#function) \\(#line) 로그 내용") 함수설명 Date() : → 날짜 출력 #file : 파일 출력 → #file만 사용하는 경우에는 파일이 있는 디렉터리가 모두 출력 components(separateBy:)함수를 사용 .last → 마지막 위치 #fuction 현재 메소드명 #line 현재 라인 출력 위와같이 작성하면 콘솔창에 이렇게 출력된다. 출력결과 #file만 사용 하는 경우 2020-10-11 16:31:33 +0000 .. 2022. 3. 18. error - Command CompileSwiftSources failed with a nonzero exit code Command CompileSwiftSources failed with a nonzero exit code 이슈 발견 보고서 📌 발견일 / 해결일 22.03.18 / 22.03.18 📌 이슈사진 📌 상황설명 학습중 발견 → 이름이 같은 파일이 있는 경우 .swift file중 이름이 같은 파일이 있어서 발생함 Swift 버전 에러 - 참고 https://shovel-geek.tistory.com/74 📌 Solution 아래 참조 DriveData 를 삭제 cmd+shift+k를 해주는 작업을 진행한 후 파일 이름만 바꿔주고 해결! → 이것 먼저 해볼것 2022. 3. 18. 디자인패턴 - MVC MVVM 디자인패턴 "디자인 패턴은 소프트웨어를 개발할 때 발생하는 다양한 문제에 대한 재사용 가능한 템플릿 해결방법!" 즉, 어떤 실질적인 코드가 아닌 아이디어라고 할 수 있다. 패턴 이름 해결할 문제, 해결 방법, 결과를 설명, 해당 디자인을 설명하고 공유하기 편하기 때문 해결할 문제 해당 패턴이 어떤 문제를 해결할 때 사용할 것인지 해결 방법 디자인 패턴은 다양한 상황에 적용될 수 있는 템플릿과 같기 때문에 해결 방법은 특정 디자인이나 구현을 설명하지는 않고, 추상적인 설명과 요소를 제공하여 해결 방법을 제시 결과 소프트웨어에서는 동일한 기능을 구현할 때 메모리, 속도 등을 비교하여 어느 코드가 더 나은 성능을 보이는지 비교할 수 있다. 또한 디자인 패턴을 사용하는 이유인 재사용성도 평가 항목에 포함된다. .. 2022. 3. 16. 이전 1 ··· 10 11 12 13 14 15 16 ··· 33 다음