목록분류 전체보기 (321)
꾸준히 안타치기
https://www.boostcourse.org/mo326/lecture/20146?isDesc=false iOS 앱 프로그래밍 부스트코스 무료 강의 www.boostcourse.org 예제를 실행하기 위해 에셋에 제이슨 파일 추가 제이슨형태 /** { "name":"하나", "age":22, "address_info": { "country":"대한민국", "city":"울산" } }, */ 더보기 [ { "name":"하나", "age":22, "address_info": { "country":"대한민국", "city":"울산" } }, { "name":"주현", "age":34, "address_info": { "country":"대한민국", "city":"김해" } }, { "name":"영선",..
https://www.inflearn.com/course/uikit-ios14/lecture/80757?tab=curriculum&volume=1.00&quality=1080&speed=1.25 프로토콜이란? - 규격,규약,규칙 - 반드시 선언해야 하는것들을 정의 해놓음 / 정의만 할뿐 구현은 하지 않는다. - 클래스는 단일 상속이기때문에 protocol이 나왔다고함 / 상속의 한계 - 프로토콜은 행동을 정의한다. - 프로토콜은 타입이다. https://dblog.tech/25 왜사용할까? https://www.boostcourse.org/mo122/lecture/11320?isDesc=false iOS 프로그래밍을 위한 스위프트 기초 부스트코스 무료 강의 www.boostcourse.org :: 프로토..
기본 프로필 이미지 터치 -> profile() -> imgPicker()호출 ->imagePickerController()실행-> 앨범에서 선택 or 카메라 사용 -> 이미지 UserDefault에 저장 / 이미지뷰에 적용 이미지 피커 컨트롤러를 사용하기 위해 ProfileVC클래스에 프로토콜을 추가한다. ProfileVC. swift class ProfileVC: UIViewController, UITableViewDelegate, UITableViewDataSource, UIImagePickerControllerDelegate, UINavigationControllerDelegate { 이미지 피커 컨트롤러를 실행할 커스텀 메소드 imgPicker(_:)를 정의한다. 매개변수를 정의하고, 이 매개변..
pe매니저 객체구조 연산 프로퍼티의 활용 개인 프로필 정보저장 - 프로퍼티리스트에 저장하고, 앱 실행시 다시 불러와 화면에 출력하기 UserInfoManager 클래스 정의하기 - 사용자 정보를 관리할 전용 객체를 만들자. 사용자가 설정한 개인정보를 UserDefault 객체에 저장하고, 필요할때 이를 꺼내주는 역할을 담당. 필요에 의해 정의해서 사용하는 커스텀 클래스이다. 따라서 특정 인터페이스를 따르지 않으며 특정 클래스를 서브 클래싱하지도 않는다. 사용자 정보에 접근하는 통로가 일원화되어 데이터 구조가 변경되거나 저장하는 키가 바뀌더라도 매니저 객체 내부에서만 관련코드를 변경하면 된다. 간단한 메소드 호출이나 속성 참조만으로 필요한 데이터를 사용할 수 있고, 코드의 경량화에 도움을 준다. UserI..
ProfileVC.swift파일 생성 import UIKit class ProfileVC: UIViewController { 메인스토리보드에 프로필화면을 처리할 네비게이션 컨트롤러와 뷰컨트롤러를 추가한다. 추가한 뷰 컨트롤러의 Class속성을 ProfileVC로 설정한다. 프론트 컨트롤러 앞에 위치한 네비게이션 컨트롤러를 선택하고, StoryboardID 속성값을 "_Profile"로 입력한다. 어트리뷰터 인스펙터 탭에서 네비게이션 컨트롤러의 HideBar 속성 중 다음 항목에 체크한다. 사용자가 화면을 탭하거나 키보드가 등장했을 때와 같은 특정상황에서 네비게이션바를 숨겨주는 역할을 한다. ProfileVC에 테이블뷰 구현을 위해 필요한 프로토콜을 선언한다. UIImageView, UITableView ..
https://bluedogs.tistory.com/315?category=1003979 에 이어지는내용 메모장 만들기(스토리보드) +배경이미지 + 얼럿창이미지추가 더보기 더보기 더보기 더보기 스토리보드 화면구성 메모 목록화면 구성 프로젝트를 생성하고, 메인스토리보드를 연다. 기본적으로 생성되어있는 viewController.swift와 메인스토리보드의 뷰컨트롤 bluedogs.tistory.com 메모목록에 사이드바 기능 붙이기 사이드바 기능구현 SWRevealViewController메인컨트롤러 라이브러리를 추가한다. / Create BridgingHeader 클릭 에 작성 // // Use this file to import your target's public headers that you wou..
스토리보드 구조 Resource그룹을 만들고 이미지를 추가한다. 커스텀클래스를 3개 만든다. RevealViewController.swift / UIView import UIKit class RevealViewController : UIViewController { } FrontViewController.swift / UIView import UIKit class FrontViewcontroller :UIViewController { } SideBarViewController.swift / 테이블뷰 class SideBarViewController : UITableViewController { } 사이드바 컨트롤러에 스토리보드ID "sw_rear" 입력 _프론트 컨트롤러에 스토리보드ID "sw_front..
피커뷰 구현하기 ( 계정 텍스트뷰를 누르면 화면하단에 피커뷰 등장 ) - 피커뷰는 셀렉트나 콤보박스 등의 기능을 하는 입력용뷰이다. 이미지피커뷰와는 전혀연관이 없다. - 피켜뷰와 테이블뷰는 유사하다. 차이점은 테이블뷰는 UITableViewCell객체를 생성해야하는것 외에 유사함. - 피커뷰는 문자열을 아이템으로 갖는 배열 타입의 데이터 소스를 사용한다. 메인스토리보드를 열고 테이블뷰추가 +네비게이션 컨트롤러 임베디드한다. 테이블뷰 셀을 정적으로 변경 테이블뷰 셀 추가 아래와 같이 화면구성하기 UserDefaluts 계정목록은 공통정보 이므로, 기본저장소에서 관리 계정목록 저장 Plist 데이터를 분리하여 저장할때 편리 / 계정별로 반복되는 정보를 따로 저장해야할때 사용한다. UserDefaluts는 키..
피커뷰 구현하기 ( 계정 텍스트뷰를 누르면 화면하단에 피커뷰 등장 ) - 피커뷰는 셀렉트나 콤보박스 등의 기능을 하는 입력용뷰이다. 이미지피커뷰와는 전혀연관이 없다. - 피켜뷰와 테이블뷰는 유사하다. 차이점은 테이블뷰는 UITableViewCell객체를 생성해야하는것 외에 유사함. - 피커뷰는 문자열을 아이템으로 갖는 배열 타입의 데이터 소스를 사용한다. 메인스토리보드를 열고 테이블뷰추가 +네비게이션 컨트롤러 임베디드한다. 테이블뷰 셀을 정적으로 변경 테이블뷰 셀 추가 아래와 같이 화면구성하기 ListViewController.swift파일 생성후, 스토리보드의 테이블뷰 클래스와 연결한다. 아울렛액션으로 텍스트필드, 이름, 세그먼트컨트롤을 ,스위치버튼을 연결한다. ViewDidLoad메소드를 추가하고, ..
// userDefault에 저장 let plist = UserDefaults.standard plist.setValue(userID, forKey: "name")//이름이라는 키로 저장 plist.synchronize()//동기화처리 //userDefaults에 불러오기 let plist = UserDefaults.standard //지정된 값을 꺼내어 각 컨트롤에 설정한다. self.userName.text = plist.string(forKey: "name") //삭제 UserDefaults.standard.removeObject(forKey: "key") https://qussk.github.io/2021/02/27/swift-UserDefault 참고 https://developer.apple...
데이터 저장 프로퍼티 리스트 관계형 /목록형 데이터 비정형 객체 데이터 NSUserDefault Core Data Archiving Custom Property List SQLite - 비교적 간단한 데이터 라면, 프로퍼티리스트를 사용 개인정보, 로그인데이터, 환경설정값등 - 테이블뷰나 컬렉션 뷰로 표현해야할 데이터라면 , 코어데이터 또는 SQLite 지속적으로 추가되는 데이터나 구조적인 데이터를 저장할때, 주로 테이블뷰나 컬렉션뷰등을 표현하는 데이터방식 - 위 두가지에 해당하지 않는 다면 아카이빙/ 일반 데이터 타입으로 표현할 수 없는 비정형 데이터를 저장할때 복잡한 데이터의 저장에 유리하나 대량의 데이터를 저장하는데는 적합하지 않다. Property List ( 사전적의미: 소유물, 재산 ) 비교적 ..
프로젝트를 생성하고, 밑에 파일 2개를 추가한다. 팝업창뜨면 Create Bridging Header를 선택( 스위프트가 오브젝트- C파일을 참조할수 있도록 브릿징헤더 파일을 생성하는 옵션) 라이브러리 사용을 위해서는 3개의 뷰 컨트롤러가 필요하다. Chapter04 -SideBar-Bridging-Header.h 파일을 열고 작성 // // Use this file to import your target's public headers that you would like to expose to Swift. // #import "SWRevealViewController.h" Resources폴더를 만들어 사이드바 아이콘을 추가한다. FrontViewContrlloer.swift 파일을 만든다. import..
더보기 더보기 더보기 더보기 스토리보드 화면구성 메모 목록화면 구성 프로젝트를 생성하고, 메인스토리보드를 연다. 기본적으로 생성되어있는 viewController.swift와 메인스토리보드의 뷰컨트롤러를 삭제한다. ->Move to Trash 빈스토리 보드에 네비게이션 컨트롤러를 추가한다.(테이블 뷰 컨트롤러가 자동으로 추가됨) 프로토타입 셀이 선택된 상태에서 인스펙터 탭 -> 높이값 설정 | 테이블뷰전체셀 높이도 동일하게 빈스토리 보드에 네비게이션 컨트롤러를 추가한다.(테이블 뷰 컨트롤러가 자동으로 추가됨) 테이블뷰 전체를 선택하고 프로토타입 셀 값을 2로 설정 / 셀의 갯수가 2개를 의미한다. - 텍스트만 있는 셀1, 텍스트+이미지가 있는셀 2개를 만들것 메모작성화면 구성 목록에 BarButton I..
문제) 분명히 버튼에 배경이 이미지를 넣었는데 버튼에 넣은 배경이미지가 보이지 않았다... self.setBackgroundImage(UIImage(named: "button-bg"), for: .normal) self.setTitle("버튼", for: .normal) 스토리보드로 추가한 버튼 속성을 클래스안에서 코드로 설정을 해주었는데, 인터페이스빌더 안에서도 설정을 바꿔줘야 배경이미지가 적용된다고한다. ^^ 가만안둬 애플 더보기 public class CSLogButton: UIButton { // 로그 출력 타입 public var logType: CSLogType = .basic // 기본값은 베이직 public required init?(coder aDecoder: NSCoder) { supe..