스위프트3 27

ios swift3 XMLParsing XML 파싱하는 방법

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 swift3 XMLParsing xml 파싱하는 방법에 대해 알아보겠습니다. 먼저 데이터를 담고 있는 xml 파일이 필요하겠죠? https://sam.ple.com/data/sample.xml처럼 xml 파일이 존재한다고 가정해보겠습니다.1학년5학급130명 2학년5학급130명 3학년4학급130명 4학년4학급130명 5학년4학급130명 6학년4학급130명 위 파일을 ios 에서 받아와 간단히 프린트하는 거 까지만 보겠습니다. 먼저 XML을 받아와 파싱을 하려면 XMLParser 를 사용합니다.ViewController.swift 파일만..

IOS(iPhone) 2017.08.08

ios swift3 하드코딩으로 UI 구성할 때

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅은 제가 메모하기 위해 포스팅을 합니다. 요즘 인프런이라는 인터넷 강의 사이트에서 swift3 + ios 유료 강의를 듣고 있는데요. 초급 강의에서 ios 앱을 만드는 과정을 보면 안드로이드와는 다르게 UI를 xml 코드로 구성하지 않고 전부 Main.storyboard 에 Drag & Drop 방식으로 UI 를 구성하는데요. 그럼 IOS 를 만들 때 UI 는 코드로 만들 수 없느냐???? 아닙니다. 물론 하드코딩으로 UI를 구성할 수 있는데요. 바로 override func loadView() { }메소드 중괄호 블록 안에 UI를 구성하는..

IOS(iPhone) 2017.07.27

swift3 스위프트3 함수선언 시 매개 변수에서 사용되는 _ 의 의미 swift3 _

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 함수 선언 시 매개 변수에서 사용되는 _ 의 의미와 사용방법에 대해 알아보겠습니다. 보통 함수 선언 시func functions(name: String, age : Int) -> Void {} 처럼 사용하고 호출 시functions(name : "알통몬", age : 26) 처럼 사용하죠. swift3 에서는 먼저 argument label을 사용할 것을 권장합니다.argument label 이 뭐냐 하면 전에 함수에 대해 포스팅할 때 언급했던전달 인자 레이블입니다.그리고 argument label을 사용하지 않으면 매개 변수 이름을..

swfit3 스위프트3 for var i = 0; i < 10; i += 1 {} 반복문 swift3 부터 없어졌네요.

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 스위프트3에서 사라진 반복문 선언에 대해 알아보겠습니다.바로 C-style 의 for문인데요.다른 언어에서 많이 사용하는 스타일의 반복문이 swift2 까지는 사용이 되었었는데요.아래처럼 for var i = 0; i < 10; i += 1 { }swift3 으로 업데이트 되면서 사라지고 오직 for in 문만 사용하셔야 합니다. for index in 1...5 {}같은 방법으로요 ㅎㅎindex 값을 사용할 필요 없이 반복만 하고 싶을 경우는 아래처럼 _ 를 사용할 수도 있습니다.for _ in 1...5 {}이상입니다.

Mac 에서 swift version check 스위프트 버전 확인하기

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅은 아주 간단명료하게 끝납니다 ㅎㅎ 맥에서 스위프트의 버전을 확인하는 방법에 대해 알아볼텐데요. 터미널에서 버전확인이 가능합니다. 명령어 :xcrun swift -version 정말 간단하죠? 이상입니다.

swift3 스위프트3 고차함수

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 고차 함수에 대해 공부합니다. 고차 함수 : 전달 인자로 함수를 전달 받거나, 함수 실행의 결과로 함수를 반환하는 함수를 말합니다. swift3 에서는 map, filter, reduce 고차 함수를 기본으로 제공합니다. - map : 컨테이너 내부의 기존 데이터를 변형해 새로운 컨테이너를 생성합니다.let num : [Int] = [10, 20, 30, 40, 50]예제) for in 문과 비교 var twoTimesNum : [Int]1. for in 문 사용for i in num { twoTimesNum.append( i*2 )..

swift3 스위프트3 오류처리 throws

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 오류처리에 대해 공부합니다. 오류를 표현하는 방법은 Error Protocol 과 (주로) 열거형을 통해서 오류를 표현합니다. ex)enum 오류종류이름 : Error { case 오류종류1 case 오류종류2 case 오류종류3 ...} 예제) 피자 자판기에서 동작할 수 있는 오류의 종류를 표현한 enumenum MachineError : Error { case notEnoughMoney ( moneyNeed : Int ) case beSoldOut case invalidInput} * 함수에서 오류가 발생했을 때 발생한 오류처리 ..

swift3 스위프트3 익스텐션(extension)

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 익스텐션에 대해 공부합니다. 익스텐션이란 : 클래스, 구조체, 열거형, 프로토콜 타입에 새로운 기능을 추가할 수 있는 기능 기능을 추가하려는 타입의 구현된 소스코드를 알지 못하거나, 볼 수 없다고 해도 타입만 알고 있다면 그 타입의 기능을 확장할 수도 있음. 익스텐션으로 추가할 수 있는 기능들 - 연산 타입 / 연산 인스턴스 프로퍼티 - 타입 / 인스턴스 메소드 - 이니셜라이저 ( 생성자 in JAVA ) - 서브스크립트 - 중첩 타입 - 특정 프로토콜을 준수할 수 있도록 기능 추가* 이미 존재하는 기능을 재정의 할 수는 없습니다. ..

swift3 스위프트3 protocol 프로토콜, 프로토콜 상속에 대해

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 먼저 구글 사전의 정의입니다. 그렇다면 스위프트3에서 프로토콜은 어떻게 쓰일까요. : 특정한 역할을 수행하기 위한 메소드, 프로퍼티, 이니셜라이저(생성자)들의 요구사항을 정의하는데 사용합니다.클래스, 구조체, 열거형은 프로토콜을 채택해서 프로토콜의 요구 사항들을 실제로 구현할 수 있습니다.어떤 프로토콜의 요구 사항을 모두 따르는 타입을 보고 '어떤 프로토콜을 모두 준수한다'라고말합니다. 프로토콜의 요구 사항을 충족시키기 위해서는 포로토콜이 지시하는 기능을모두 구현해야 합니다. 프로토콜 정의protocol ProtocolName { // 정의} 예제)p..

swift3 스위프트3 assert, guard

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!포스팅 내용이 찾아주신 분들께 도움이 되길 바라며더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^ 이번 포스팅에서는 assert 와 guard 에 대해 공부합니다. 애플리케이션이 동작하는 중에 생성하는 다양한 결과 값들을 동적으로 확인하고 안전하게 처리할 수 있도록확인하고 빠르게 처리할 수 있습니다. - assert : 디버그 모드에서만 동작하고, 배포된 애플리케이션에서는 제외됩니다. * 주로 디버깅 중 조건 검증을 위해 사용합니다.assert(_:_:file:line:) 함수를 사용합니다. ex) var intValue : Int = 0 assert(intValue == 0, "intValue != 0") intValue = 1 assert(in..