iOS(36)
-
RxSwift에 대해 알아보기! (Observable)
Rx의 시작인 Observable부터 알아보도록 하겠습니다. Observable 이란? Rx의 심장 같은 존재 Observable = Observable Sequence = Sequence 비동기적(asynchronous) 이며 Observable 들은 일정기간 동안 계속해서 이벤트를 생성(emit) marble diagram: 시간의 흐름에 따라서 값을 표시하는 방식 Observable(옵저버블)의 생명주기 1.Create가 시작되고 2.subscribe를 적용하여 3.onNext 로 데이터가 전달된다. onNext로 전달될 수도 있고 에러가 날수도 있다. 에러가 나면 에러에서 끝난다. 4. onCompleted 되고 끝이 난다. 5. Disposed 한다. (끝부분) - Just - 제일 먼저 jus..
2023.01.11 -
외부 라이브러리 (Cocoa Pods 추가하기)
외부 라이브러리를 추가하는 방법을 알아보려고 합니다. 추가하는 방법은 CoCoa Pods를 이용하여 추가하는 방법 또는 xcode 내에서 Swift Add PackagesPackages를 이용하는 방법 등 여러 가지가 있습니다. 오늘은 이중에 CoCoa Pods로 외부 라이브러리를 추가하는 방법을 알아보도록 하겠습니다. 먼저 xcode로 새 프로젝트를 만들어 보겠습니다. 빈화면에서 새로 만들어진 프로젝트 파일로 접근을 해야 합니다. 그냥 파일로 접근하는 것이 아니라 터미널을 이용하여 접근해 주세요.! 터미널을 이용하여 프로젝트 파일로 접근해주시길 바랍니다. 터미널로 파일까지 들어오셨다면 pod init를 통하여 Podfile을 만들어주세요! init을 하게 되면 만들어집니다.! 그리곤 저 만들어진 파일을..
2023.01.10 -
didSelectRowAt 메소드 사용시 주의사항 (delegate)
흔히들 테이블뷰나 컬렉션 뷰를 사용할때에 셀을 클릭시 셀안으로 들어가기 위해 didSelectRowAt 메소드를 사용합니다. 이 메소르를 사용하면서 한가지 주의 해야 할 점을 알아가보자 합니다. func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let vc = ViewController() navigationController?.pushViewController(vc, animated: true) } 흔히 사용 하는 didSelectRowAt 메소드입니다. 여기서 저는 추가적으로 셀 안에 뷰를 들어가기 위해서 메소드를 사용하며 셀안의 뷰를 불러 옵니다. 여기서 실수가 발생할 수 있다는 점을 알아보고자 합니다. t..
2023.01.03 -
UIRefreshControl에 대해 알아보기(로딩 인디케이터)
먼저 로딩 중 일 때 뜨는 아이콘을 쓰고 싶어 알아보게 되었습니다. 바로 코드로 알아 보겠습니다. 먼저 저는 스토리보드 없이 코드로 진행하였습니다. 코드스토리보드 진행 시에 이렇게 하니 로딩 중 페이지가 나타났습니다. private lazy var refreshControl: UIRefreshControl = { let refreshControl = UIRefreshControl() refreshControl.addTarget(self, action: #selector(fetchData), for: .valueChanged) return refreshControl }() 먼저 코드로 리프레시컨트롤을 만들어 줍니다. @objc private func fetchData() { refreshControl.en..
2023.01.02 -
델리게이트 패턴에 대해서 알아보자!.
셀에서의 버튼 액션을 사용할 수 없기 때문에 이 부분을 컨트롤러에 전해줘야 합니다. 이 부분을 실행하는 데에 있어 다른 방법도 있겠지만 델리게이트 패턴을 사용하기에 델리게이트 패턴에 대해 알아보도록 하겠습니다. @IBOutlet weak var addButton: UIButton! addButton.addTarget(self, action: #selector(add), for: .touchUpInside) @objc func add(sender: UIButton) { } 우선은 버튼을 생성한 상태에서 연결을 진행한 후에 addtarget을 진행하여 액션을 실행할 함수를 만들어 줬습니다. 이 부분이 실행되는 부분은 컨트롤러가 아닌 셀에서 진행되고 있음을 설명드립니다.! 그렇기에 add 함수에 액션 명령을 ..
2022.11.20