목록전체 글 (393)
나의 발자취
간혹가다 API 결과값에 태그가 있는 경우가 있다. 그럴 때는 Regex로 없애주면 되는데, 문제점은 제목 구분자로 이런 식으로 쓴 것들은 다 날아간다. extension String { var stripHTML: String { return self.replacingOccurrences(of: "]+>", with: "", options: .regularExpression) } func stripOutHtml() -> String? { do { guard let data = self.data(using: .unicode) else { return nil } let at..
사실 기획을 새벽 밤에 시작해서 하루만에 기획부터 개발까지 다 끝내는 셈이라 빡셌다. ^^ 욕심을 부려 (혹시나 기획한만큼 100% 개발이 안될수도 있을까봐) 디자인 요소도 최소한으로 만들어 넣느라 미드저니도 이용해서 (그래서 10달러 씀..^^) 아이콘이랑 런치스크린을 뽑아냈다. 한달에 300장까지던데 뽕뽑아야지. 타임어택같은 개발을 했기에, 포스팅을 자세히 할순 없고 코드보다는 해결하려고 struggle했던 점 -> 해결한 방법으로 메모해보겠다. TabBar Image가 안나옴 -> Assets에서 Render As: “Original Image” 로 설정TabBar 메뉴 순서 조절하는법 -> 모르겠음검색어 넘기기 -> 넘길 뷰에 Property를 선언하고 기존 뷰의 prepare 메서드에서 ingr..
주어진 이틀 안에 기획부터 개발까지 다 해보려 한다.조건은 Open API를 활용하고, 이제까지 배운 VC들을 활용하는 것이다(UIKit). 기획하는데에 여러가지 막연한 아이디어들이 많아 최종 프로젝트 기획안을 자리잡기까지 오래 걸렸다. 1. 현재 사용중인 유진투자증권 MTS 계좌랑 연동해서 조건이 맞을때마다 알람울리기기각이유: HTS에서 확인해야만 해서 매일 번거롭게 윈도우 컴 앞으로 가야했었는데.. 너무 완벽하겠다 싶어서 들떴다. 비번 찾느라 애먹고 API 신청까지 했는데 막상 개발 가이드를 (신청해야지만 다운받을 수 있었음.) 다운받았더니 Obj-C 기반으로 된것이다. ;; -> 프로젝트 취지에 안맞아서 포기.(개인 프로젝트면 했을텐데 수업에서 한거라 바로 포기함. 아쉽지만 ㅠㅠㅠ) 2. 미드저니 ..
지난 포스팅:2024.09.06 - [앱 개발/iOS] - KakaoAPI를 활용한 BookSearch 앱 만들기 (1) KakaoAPI를 활용한 BookSearch 앱 만들기 (1)Kakao API를 통해, 책 검색 API를 사용해 검색한 키워드대로 책 목록을 가져오고, 목록을 클릭하면 상세 화면으로 넘어가 책에 대한 상세 내용을 웹뷰로 띄워줄것이다. func search()먼저 Kakao API로 책wildguess.tistory.com 저번 포스팅과 같이 코드를 작성하면 시뮬레이터에 위와 같은 화면밖에 보이지 않는다. 그 이유는 Delegate 를 해주는 tableView에게, 데이터를 호출해서 재가공한 시점에서 새로 생성했다고 알려줘야한다.그러나 아래와 같이 reloadData()를 하면 에러..
Kakao API를 통해, 책 검색 API를 사용해 검색한 키워드대로 책 목록을 가져오고, 목록을 클릭하면 상세 화면으로 넘어가 책에 대한 상세 내용을 웹뷰로 띄워줄것이다. func search()먼저 Kakao API로 책을 검색할 수 있는 함수를 만들어줄 것이다. (API 활용부분은 넘어가기로 함.)func search() 안에 url, request를 구현해준다.func search(){ var endPoint = "https://dapi.kakao.com/v3/search/book?sort=recency&query=love" guard let url = URL(string: endPoint) else { return } var request = URLReque..
alert창의 경우 하나의 뷰를 더 사용하게 된다, iOS에서는 뷰가 하나이기 때문에, alert를 위한 뷰를 하나 더 만들어준다. 1. 확인 버튼 Actionextension ViewController: WKUIDelegate { public func webView(_ webView: WKWebView, runJavaScriptAlertPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo, completionHandler: @escaping () -> Void) { let alert = UIAlertController(title: nil, message: message, preferredStyle: .alert) ..
// MARK: - DataSource Delegate Methods// ???: - 잘 모르겠는데// TODO: - things to do// FIXME: - 수정 // !!!: - 경고. 전달된 값이 nil이 아니어야함
서로 다른 기능을 하는 JS 함수를 Swift에서 받아 처리해 버튼으로 상호작용하는 방법에 대해 알아보겠다.(버튼이 있을 위치를 위해)1. 웹뷰 frame 크기 조절지난번에 이어서 프레임 사이즈를 조절해줄 것이다.메서드의 파라미터로 frame: view.frame로 넘겨준것에서, frame 변수를 생성하여 별도로 크기를 정의하기로 한다. var webView = WKWebView(frame: view.frame, configuration: webViewConfig) let frame = CGRect(origin: view.frame.origin, size: CGSize(width: view.frame.width, height: view.frame.height/3*2))var webView = WKWebV..