목록Swift (726)
투케이2K

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func requestPOST() { // [URL 지정 및 파라미터 값 지정 실시] var urlComponents = URLComponents(string: "https://test.com/user?") let paramQuery_1 = URLQueryItem(name: "userId", value: "1") let paramQuery_2 = URLQueryItem(name: "id", value: "1") urlComponents?.queryItems?.append(paramQuery_1) // 파라미터 지정 urlComponents?.queryItems?.append(paramQuery_2) // 파라미터 지정 ..
[로직 정리] 정리 로직 : MOBILE (IOS) 상태 : [IOS] WkWebview 웹뷰 COOKIE 쿠키 공유 [설 명] [IOS] 1. 웹뷰 웹뷰 초기 설정 셋팅 수행 실시 및 로드 하기 (전) 웹뷰 헤더 쪽에 쿠키 삽입 , 웹뷰 로드 수행 실시 - 쿠키 추가 셋팅 위함 : 웹뷰 WKWebViewConfiguration.websiteDataStore 설정을 >> WKWebsiteDataStore.nonPersistent() 로 설정 - 헤더 쪽 쿠키 삽입 실시 : URLRequest.addValue("데이터", forHTTPHeaderField: "Cookie") - 웹뷰 로드 실시 : webview.load(request) 2. 웹뷰 로드 완료 상태 100 프로가 되면 다시 webvie..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [사전 설정 필요] [ViewController] import UIKit class ViewController: UIViewController { // MARK: [뷰 메모리 로드 수행 실시] override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. print("") print("===============================") print("[ViewController >> viewDidLoad() :: 뷰 메모리 로드 실시]") print("=============================..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [참고 사이트] https://fomaios.tistory.com/entry/iOS-TestFlight-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%B4%88%EB%8C%80%ED%95%98%EA%B8%B0 [iOS] TestFlight 테스트 사용자 초대하기 안녕하세요 Foma👟 입니다. 지난 글에서 테스트 플라이트를 어떻게 배포하는지에 대해서 알아보았는데요. 테스트 플라이트 심사를 거치고 한 몇시간 뒤? 테스트가 통과되었습니다. 그래서 오늘 fomaios.tistory.com

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [사전 설정] [소스 코드] import UIKit // MARK: [import 추가 실시] import AVFoundation import Photos class A_Image: UIViewController { // MARK: [클래스 설명] /* 1. A_Image : 카메라, 앨범 접근 클래스 2. info.plist 권한 등록 필요 : - Privacy - Camera Usage Description - Privacy - Photo Library Usage Description - Privacy - Access to a File Provide Domain Usage Description - Privacy - ..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func testMain(){ print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") /* [요약 설명] 1. joined(separator:) : 배열의 문자열들을 하나로 연결한 문자열을 반환합니다 2. 문법 : array.joined(separator:"결합문자") */ // [초기 배열 선언 실시] var strArray : Array = [] // 문자열 배열 // [배열에 데이터 삽입..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func testMain(){ print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") /* [요약 설명] 1. sublist : 배열에서 시작 번지 ~ 종료 번지 까지 특정 범위를 지정해서 출력할 수 있습니다 2. 배열 인덱스 번지는 0 번 부터 시작합니다 3. strArray[0 ..< 2] : 0 , 1 번 인덱스까지 데이터를 출력합니다 */ // [초기 배열 선언 실시] var strAr..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [사전 설정] [소스 코드] import UIKit // MARK: [import 추가 실시] import AVFoundation import Photos class A_Image: UIViewController { // MARK: [클래스 설명] /* 1. A_Image : 카메라, 앨범 접근 클래스 2. info.plist 권한 등록 필요 : - Privacy - Camera Usage Description - Privacy - Photo Library Usage Description - Privacy - Access to a File Provide Domain Usage Description - Privacy - Mi..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // -------------------- // [SEARCH FAST] : [ios 버전 분기 처리] if #available(iOS 13.0, *) { // [스토리보드 사용 : present 방식 : A_MainVC = 스토리보드 아이디 지정 / as = 컨트롤러 지정] guard let A_MainVC = self.storyboard?.instantiateViewController(identifier:"A_MainVC") as? A_Main else { return } A_MainVC.modalPresentationStyle = .fullScreen // 전체화면 (기본은 팝업형태) self.present(A_M..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] import Foundation // MARK: - [필요 헤더 브릿지 : #import ] struct C_AES256 { // MARK: - [클래스 설명] /* // ----------------------------------------- 1. AES256 암호화 수행 파생 클래스 2. 추가하는 값 KEY, IV, SALT 값 3. CBC : 블록 암호화 운영 모드 중 보안 성이 제일 높은 암호화 방법으로 가장 많이 사용 (IV 사용) 4. PKCS 5 : 8 바이트 패딩 (데이터 길이가 모자라다면 8 바이트까지 마지막 값 기준 채우고, 8 바이트 이상인 경우 뒤에 8바이트 패딩 추가) 5. PKCS 7 : 16..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func testMain(){ print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") /* [요약 설명] 1. split , components 를 사용해서 특정 문자 기준으로 데이터를 분리해 배열에 삽입합니다 2. split : Array 형태 데이터를 가집니다 3. components : Array 형태 데이터를 가집니다 */ // [초기 데이터 선언 실시] let strData = "he..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [C_JsonCodable.swift 파일] import Foundation // MARK: - [클래스 설명] /* // ----------------------------------------- 1. Codable 사용해 json 인코딩 , 디코딩 수행 클래스 // ----------------------------------------- */ // MARK: - [Codable 설명] /* // ----------------------------------------- 1. Codable : Swift4 부터 추가된 프로토콜이며, JSON 데이터를 간편하게 인코딩 , 디코딩을 수행할 수 있습니다 2. Codable 은 str..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [C_JsonCodable.swift 파일] import Foundation // MARK: - [클래스 설명] /* // ----------------------------------------- 1. Codable 사용해 json 인코딩 , 디코딩 수행 클래스 // ----------------------------------------- */ // MARK: - [Codable 설명] /* // ----------------------------------------- 1. Codable : Swift4 부터 추가된 프로토콜이며, JSON 데이터를 간편하게 인코딩 , 디코딩을 수행할 수 있습니다 2. Codable 은 str..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [S_LazyClass 클래스] import Foundation class S_LazyClass { // MARK: - [클래스 설명] /* // ----------------------------------------- 1. Lazy 변수 관리 클래스 // ----------------------------------------- */ // MARK: - [Lazy 변수 설명] /* // ----------------------------------------- 1. lazy 변수 : 메모리 관리에 필요한 변수 이며, 호출 되기 전까지 연산되지 않습니다 2. lazy 변수를 사용하므로써 사용자는 불필요한 메모리 할당과 실행을 방..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func testMain(){ print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") /* // MARK: [요약 설명] 1. 필요 import : import UIKit 2. random : 지정된 범위의 랜덤 정수 값을 출력합니다 */ // [for 문을 수행하면서 랜덤 데이터 출력 실시] for i in stride(from: 1, through: 3, by: 1) { // 1부터 3회까..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func testMain(){ print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") /* // MARK: [요약 설명] 1. Array : 가변 배열로 크기 지정 없이 동적으로 데이터를 삽입,삭제,수정 할 수 있습니다 2. max : 배열 데이터 중 최대값을 출력합니다 3. min : 배열 데이터 중 최소값을 출력합니다 */ // [초기 배열 선언 실시] var strArray : Array..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func testMain(){ print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") /* // MARK: [요약 설명] 1. Array : 가변 배열로 크기 지정 없이 동적으로 데이터를 삽입,삭제,수정 할 수 있습니다 2. sort : 배열 데이터를 정렬할 때 사용합니다 */ // [초기 배열 선언 실시] var strArray : Array = [] // 문자열 배열 var intArray..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func testMain(){ print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") /* // MARK: [요약 설명] 1. defer : 함수 종료 직전에 실행되는 구문입니다 2. 일반적으로 함수 상단에 defer 마무리 구문을 작성한 후 >> 하위 로직을 작성합니다 - defer 구문을 소스 코드 하위에 배치 시 중간 로직에 return 이 들어가 함수가 종료된 경우 defer 구문이 수..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] func testMain(){ print("") print("===============================") print("[ViewController >> testMain() :: 테스트 함수 수행 실시]") print("===============================") print("") // [초기 변수 선언 실시] let intOne = 10 let intTwo = 20 // [max , min 데이터 출력 실시] let maxData = max(intOne, intTwo) // 두 값 중 큰 값 출력 실시 let minData = min(intOne, intTwo) // 두 값 중 작은 ..

[개발 환경 설정] 개발 툴 : XCODE 개발 언어 : SWIFT [소스 코드] // [같은 스토리보드 내에 있는 뷰 컨트롤러 이동 수행] if #available(iOS 13.0, *) { // [스토리보드 사용 : present 방식 : A_MainVC = 스토리보드 아이디 지정 / as = 뷰 컨트롤러 지정] guard let A_MainVC = self.storyboard?.instantiateViewController(identifier:"A_MainVC") as? A_Main else { return } A_MainVC.modalPresentationStyle = .fullScreen // 전체화면 (기본은 팝업형태) self.present(A_MainVC, animated: fals..