개발
-
[Swift] URLSession 통해 async fetch & json 파싱개발/Swift 2022. 10. 4. 09:01
HTTP 메소드, JSON 파싱 http 통신을 위해 URLSession을 사용해보고 얻어온 데이터를 원하는 정보만 디코딩해서 사용하려 한다. class Network { func fetchTrends() { guard let url = URL(string: "") else { return } var request = URLRequest(url: url) request.httpMethod = "GET" URLSession.shared.dataTask(with: request) { data, response, error in if let error = error { print("Error fetch Trend", error.localizedDescription) } print(data) } } } 우선 데..
-
[Swift] ViewController Custom Init (parameter 전달)개발/Swift 2022. 8. 29. 16:35
Modern Collection View 와 MVVM 패턴 가이드 [iOS] Modern Collection View & MVVM 패턴 가이드 - 인프런 | 강의 MVVM 패턴과 Modern Collection View를 사용해 네트워킹을 구현하고, 다양하고 동적인 Collection View를 자유자재로 다룰 수 있게 됩니다., - 강의 소개 | 인프런 www.inflearn.com ViewController Custom Init (parameter) 코드로 UI 를 짜는경우는 이렇게 사용할수있다. init(viewModel: MonitoringViewModel) { self.monitoringViewModel = viewModel super.init(nibName: nil, bundle: nil) }..
-
[Swift] 라이브러리 내부 이미지 관련 오류개발/Swift 2022. 8. 25. 16:32
라이브러리 이미지 관련 오류 두개의 어플리케이션에 중복적으로 사용되는 view 들이 많아 중복되는 view와 관련해 라이브러리를 만들어 두 어플리케이션에서 사용하기로 했다. 그렇게 라이브러리화 작업을 끝낸후 기존 프로젝트에서 이제 더이상 사용하지 않을 image 파일들을 모두 제거하자 image를 찾지 못하는 문제가 생겼다. 그렇다고 image를 다시 넣는것도 문제였다. 다시 넣는다면 App(현재 프로젝트)와 라이브러리에서 모두 image 파일을 가지고있기 떄문이다. 해결은 Bundle을 통해 가능했다. button.setImage(UIImage(named: "buttonImage"), for: .normal) 보통 이렇게 이미지를 사용한다. 이런경우 프로젝트 에서는 프로젝트 의 리소스를 보고 butto..
-
[Swift] 특정 코너만 CornerRadius 적용시키기개발/Swift 2022. 8. 22. 16:26
특정 코너만 CornerRadius 적용시키기 흔히 view에서 cornerRadius를 적용시키기 위해 이렇게 사용하고있었다 extension UIView { @IBInspectable var cornerRadius: CGFloat { get { return layer.cornerRadius } set { layer.cornerRadius = newValue layer.masksToBounds = newValue > 0 } } } self.view.cornerRadius = 8 위와같이 사용하면 각각 코너 모두 둥글게 Radius가 적용된다 하지만 만약 특정 코너만 ( 왼쪽위 or 왼쪽아래) 적용시키기 위해서는 다른 방법이 필요하다 extension UIView { func roundCorners(co..
-
[Swift] Superview 의 tap gesture 적용시 sub view에 영향 안주기개발/Swift 2022. 8. 19. 16:24
Modern Collection View 와 MVVM 패턴 가이드 [iOS] Swift Modern Collection View & MVVM 패턴 가이드 | 덤벨로퍼 - 인프런덤벨로퍼 | MVVM 패턴과 Modern Collection View를 사용해 네트워킹을 구현하고, 다양하고 동적인 Collection View를 자유자재로 다룰 수 있게 됩니다., Swift iOS UI, 제대로 다루는 핵심 기술! 📲 iOS Swift 레이www.inflearn.com Superview 의 tap gesture sub view에 영향 안주기private func setDismissKeyboardEvent() { let gesture = UITapGestureRecognizer(target: self..
-
[Swift] Cell 에 init 을 하고싶을때개발/Swift 2022. 8. 16. 16:22
Cell init 에 관해 table cell 이던 collection view cell 이건 cell은 init 할때 parameter를 넣어서 init 할 수가없다. init(color:UIColor) { } 그래서 override init 함수를 써야하고 만약 cell 에 속성을 부여하고 싶다면 이런식으로 넣어준다 guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ACell", for: indexPath) as? ACell else { fatalError("ACell error")} cell.color = .red 하지만 reloadData() 가 일어나거나 하면 위의 함수는 한번 더 발생하게 된다. 만약 init()..
-
[Swift] ReloadData 호출시 키보드 사라지는 오류개발/Swift 2022. 8. 15. 15:17
ReloadData 호출시 키보드 사라지는 오류 Collection view 에서 데이터를 갱신할떄 reloadData()를 사용한다. textfiled 가 search 되는 시점에 reloadData() 를 호출했었는데 textfield가 editing 되는 시점에 reloadData()를 호출해야하는 요구 사항이 발생했다. 그래서 textEditing 되는 시점에 리스트를 필터링하여 reloadData를 호출했더니 키보드가 사라지는 현상이 발생했다 흔히 textField.resignFirstResponder() 함수가 실행되면 키보드가 사라지는데 해당 함수를 실행시키고 있지는 않았다. 그러므로 reloadData()가 호출되면 firstResponder가 자동으로 바뀌는것같았다. 구글링 이후에 가장 ..
-
[오브젝트 - 5 ] 상속과 상속의 문제점, 합성개발/프로그래밍 2022. 7. 18. 21:41
이미 존재하는 클래스와 유사한 클래스가 필요 하다면 코드를 복사하지 말고 상속을 이용해 재사용하면 된다. 상속과 결합도 코드를 쉽게 재사용할수 있는 상속은 좋은 방법일까? 자식 클래스 작성자는 부모클래스 구현 방법에 대한 정확한 지식을 가져야한다. 따라서 상속은 자식과 부모 클래스의 결합도를 높인다. 부모의 변경에 자식은 취약하다. 또한 불필요한 인터페이스를 상속 받게되는 문제가 생기게 되며 오버라이드 함수가 오작동할수있다. override func add(t: T) { addCount += 1 return super.add(t) } override func addAll(t: [T]) { addCount += t.count return super.addAll(t) } super.add() 내부에서 다른 ..