티스토리

SeorinY
검색하기

블로그 홈

SeorinY

seorin-yy.tistory.com/m

개발 블로그 🤗

구독자
10
방명록 방문하기

주요 글 목록

  • [Swift]: Designated init, Convenience init, Required init Swift 에서 initializer 들의 종류를 알아보자!! Designated init, Convenience init, Required init 이렇게 세가지에 대해 간단하게 알아보자. Designated init은 객체 모든 프로퍼티의의 값을 함수 구문 안에서 정해주는 initializer 이다. Convenience init은 함수 내부에서 객체의 모든 프로퍼티를 코드로 정해주기 귀찮아서 Designated init을 사용하고 싶을 때 쓰는 것이다! Required init은 자신을 상속받을 클래스들에게 반드시 선언해줬으면 하는 initializer 가 있을 때 사용하는 것이다! Designated init 객체 안의 모든 프로퍼티의 값들을 초기화해줘야 하는 initializer다! 옵셔널 타입.. 공감수 0 댓글수 0 2022. 11. 10.
  • [Swift] : KVO ( Key-Value Observing ) 오늘은 KVO( Key-Value Observing )에 대해 알아보자! 먼저 KVC ( Key-Value Coding )에 대해 궁금하다면 아래 글을 읽어보자! [Swift] : KVC ( Key - Value Coding ) KVC ( Key - Value Coding ) 란 무엇일까? 객체의 프로퍼티에 접근할 때 사용하는 간접적인 코딩 방식이다. 객체의 프로퍼티에 접근하는 방식은 직접적인 방식과, 간접적인 방식으로 볼 수 있다. 직 seorin-yy.tistory.com Observer를 직역하면 관찰자라는 뜻이다. Swift 에서 Observer 는 Observe( 관찰 ) 하고자 하는 프로퍼티가 변경됐는지 관찰하는 것이다! 예시를 들어보자 observe 하려는 프로퍼티가 아래의 Human의 Na.. 공감수 3 댓글수 0 2022. 10. 22.
  • [Swift] : KVC ( Key - Value Coding ) KVC ( Key - Value Coding ) 란 무엇일까? 객체의 프로퍼티에 접근할 때 사용하는 간접적인 코딩 방식이다. 객체의 프로퍼티에 접근하는 방식은 직접적인 방식과, 간접적인 방식으로 볼 수 있다. 직접적인 방식은 아래 코드처럼 우리가 흔히 사용하는 코딩 방식이다. struct Human{ var name : String var profile : Profile } struct Profile{ var job : String } var profile = Profile(job: "") var seorin = Human(name: "", profile: profile) //seorin 객체의 프로퍼티에 직접 접근을 함!! seorin.name = "seorin" seorin.profile.job = .. 공감수 2 댓글수 2 2022. 10. 11.
  • [Swift] : subscript로 String에 접근 할 수 없는 이유 subscript로 String에 접근 할 수 없는 이유를 알아보기 위해 subscript에 대해 알아보자! var intArr = [1, 2, 3] intArr[0] // 1 위의 예시처럼 intArr[int] 같이 배열에서 Key 값을 사용하여 Value에 접근해 줄 수 있게 해주는 것이 바로 subscript이다! 이제 swift 에서 String은 subscript[int]로 접근할 수 없는 이유에 대해 알아보자 var intArr = [1, 2, 3] var string = "abc" intArr[0] // 1 string[0] // error!!!! 위처럼 코드를 작성했다면 오류가 발생했을 것이다. 왜일까? 공식문서에서 String 을 봐보자! 문서에 따르면 String은 유니코드로 이루어진 .. 공감수 0 댓글수 1 2022. 10. 6.
  • [UIKit] : Autolayout, SnapKit 사용해보기 Swift 는 View들의 위치를 Layout으로 정해준다. 이때 Layout을 상수로 지정해주면 기기를 바꾸는 경우 원하는 상황이 연출되지 않을 것이다! iOS 기기마다 화면 View의 크기가 다르기 때문이다 -> 이를 해결하기 위해 AutoLayout 을 사용해보자! 1. 기존의 frame을 사용한 코드를 먼저 보자 import UIKit import Foundation class ViewController: UIViewController{ private let testView : UIView = { let testView = UIView() testView.backgroundColor = .blue return testView }() override func viewDidLoad() { super... 공감수 1 댓글수 1 2022. 9. 20.
  • [UIKit] : CocoaPods 설치, 라이브러리 (SnapKit + Then)사용하기 SnapKit, Then 등 외부라이브러리를 사용하기 위해 CocoaPods 을 설치해보자!! https://cocoapods.org CocoaPods.org CocoaPods is built with Ruby and is installable with the default Ruby available on macOS. We recommend you use the default ruby. Using the default Ruby install can require you to use sudo when installing gems. Further installation instructions are in the g cocoapods.org 위 링크로 접속하면 $ sudo gem install cocoapod.. 공감수 0 댓글수 0 2022. 9. 20.
  • [UIKit] : UITextField 키보드 올리고 내리기 UITextField에 텍스트를 입력할 때 사용하는 키보드를 올리고, 내려보자 방법은 간단하다 becomeFirstResponder 와 resignFirstResponder를 사용하면 된다. 버튼을 눌렀을 때 키보드를 올리고 내리는 함수를 작성해보자 override func viewDidLoad() { super.viewDidLoad() view.addSubview(textField) view.addSubview(showButton) view.addSubview(hideButton) showButton.addTarget(self, action: #selector(didTapShowButton), for: .touchUpInside) hideButton.addTarget(self, action: #sele.. 공감수 0 댓글수 2 2022. 9. 11.
  • [UIKit] : TextField 값 실시간으로 가져오기 ID 혹은 Password 를 실시간으로 검사하는 기능을 원한다면 이 글을 참고해보자! 우선 텍스트 필드를 띄우고, TextField 속 Text 의 확인을 위한 Label을 만들어준다. class ViewController: UIViewController{ private let textField : UITextField = { let textField = UITextField() textField.placeholder = "문자열 입력" textField.backgroundColor = .cyan return textField }() private let checkLabel : UILabel = { let label = UILabel() label.backgroundColor = .gray label... 공감수 0 댓글수 0 2022. 9. 11.
  • [UIKit] : CollectionView Header 만들기 - (UICollectionReusableView) Collection View에서 UICollectionReusableView를 사용하여 header를 만들어보자. 전 글에서 CollectionView 를 만들었으니 코드를 이어서 작성해보자! 참고 : https://seorin-yy.tistory.com/19 [Swift] : CollectionView 생성, Cell 등록하기 정말 많이 사용되는 CollectionView 를 띄워보자. Collection View 를 생성하기 전에 먼저 CollectionView 에서 사용될 Cell 을 만들어보자 UICollectionViewCell를 상속받는 Cell을 생성해주자. 그리고 알 수.. seorin-yy.tistory.com UICollectionReusableView를 사용하여 Header를 만들게 .. 공감수 0 댓글수 0 2022. 9. 2.
  • [UIKit] : CollectionView 생성, Cell 등록하기 정말 많이 사용되는 CollectionView 를 띄워보자. Collection View 를 생성하기 전에 먼저 CollectionView 에서 사용될 Cell 을 만들어보자 UICollectionViewCell를 상속받는 Cell을 생성해주자. 그리고 알 수 있게 배경화면을 파란색으로 설정해주자 class CollectionViewCell: UICollectionViewCell { static let identifier = "CollectionViewCell" override init(frame: CGRect) { super.init(frame: frame) //Cell에서는 View대신 ContentView를 사용한다 contentView.backgroundColor = .blue } required.. 공감수 0 댓글수 0 2022. 9. 2.
  • [UIKit] : UIButton 속 이미지 크기 조절하기 UIButton에 Image를 넣었을때 Image 크기를 조절해보자. 기본적인 부분이라 쉬울 것 같지만 많은 사람들이 어려워하는 부분이다. 대부분의 경우가 image를 넣어주고 Button 의 사이즈를 조절하려고 하는데 다른 방법을 알아보자! Image 를 만들 때 크기를 크게 해주고 Button 에 추가해주면 된다. UIImage를 크게 만드는 방법은 SymbolConfiguration 를 사용해주면 된다. private let button : UIButton = { let button = UIButton() //Button에 넣어줄 UIImage의 크기를 30으로 정해주자 let config = UIImage.SymbolConfiguration(pointSize: 30) let image = UIIm.. 공감수 0 댓글수 0 2022. 8. 25.
  • [UIKit] : 구조체 문자열 원하는 문자열로 바꾸기 구조체의 문자열을 마음대로 바꿔보자! ex ) "유서린" -> "제 이름은 유서린입니다." 간단한 방법으로는 또 하나의 변수를 만들어서 그 변수에 저장해주는 것이다 struct People{ let name : String var nameString: String { return "제 이름은 \(name)입니다." } } 위 코드처럼 구조체를 만들면 nameString 은 자동으로 완성된다. 전체코드 import UIKit struct People{ let name : String //nameString은 자동으로 완성된다. var nameString: String { return "제 이름은 \(name)입니다." } } class ViewController: UIViewController{ let p.. 공감수 0 댓글수 0 2022. 8. 24.
  • [UIKit] : Scroll View content 페이지 넘기기 (page Control 사용) 아래 영상처럼 Scroll view 를 사용해서 내용들을 페이지를 넘기듯이 넘겨보자! 주로 예시를 들면 베너에 활용할 수 있을 것이다. 우선 UIScrollView 와 UIPageControl 들을 생성해주자 생성과 동시에 frame 도 정해주자 class ViewController: UIViewController{ let scrollView : UIScrollView = { let scrollView = UIScrollView() //isPagingEnabled를 설정해주어야 페이지를 넘기듯이 넘기듯이 넘길 수 있음 -- 중요 scrollView.isPagingEnabled = true return scrollView }() let pageControl : UIPageControl = { let pag.. 공감수 1 댓글수 0 2022. 8. 23.
  • [UIKit] 화면에 UIView, UIButton 추가하기 (Storyboard X) 먼저 기본적인 View에 UIView를 띄워보자! 프로젝트 생성 후 기본적인 View Controller 코드로만 작성해보자 import UIKit class ViewController: UIViewController { //subView 를 생성함과 동시에 배경화면과 같은 설정값을 세팅해준다 private let subView : UIView = { let uiView = UIView() uiView.backgroundColor = .systemGray return uiView }() //View위에 띄우고 싶은 Layout들은 addSubview를 통해서 등록해준다 override func viewDidLoad() { super.viewDidLoad() view.addSubview(subView) c.. 공감수 0 댓글수 0 2022. 8. 18.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.