본문 바로가기

분류 전체보기242

4. 함수 함수 함수는 동작을 작성하는 단위로 func 키워드로 정의한다.// 함수의 정의func greeting() { print("hello") }// 함수 호출 greeting() 함수 반환값 함수의 동작 결과를 반환하려면 파라미터 오른쪽에 ->를 이용한다. 반환 타입이 없으면 생략 가능하다.func areOk() -> Bool { return true} func favorite() -> String { return "coffee" } 다수의 반환값 함수의 결과로 다수의 결과를 반환하려면 튜플을 사용한다.// 난수 3개를 튜플로 반환func random3() -> (Int, Int, Int) { let r1 = Int(arc4random() % 10) let r2 = Int(arc4random() % 10) .. 2015. 9. 30.
3. 옵셔널 옵셔널(Optional) Swift에서 일반적인 변수나 상수는 값이 설정돼있어야 한다. 값이 설정되지 않은 상태를 nil이라고 하고 옵셔널로 선언해야 한다.Swift에서 객체형 변수외에도 nil은 Int나 Float와 같은 원시 타입에도 사용할 수 있다. 그러나 다음과 같이 변수에 nil을 대입하는 방식은 에러가 발생한다. var i = nil // error nil을 다루려면 옵셔널 타입으로 선언해야 한다. 옵셔널로 변수나 상수를 정의하려면 타입에 물음표를 붙여서 선언하며 타입 선언을 생략할 수 없다.var i : Int? = nil 옵셔널 사용하기 nil에 함수를 호출하거나 프로퍼티를 접근하려고 하면 런타임 에러가 발생한다. 컴파일러는 nil이 될 수 있는 옵셔널 타입에 프로퍼티나 메소드를 호출하려고.. 2015. 9. 30.
2. 기본 문법과 타입 import import Foundationimport UIKit // iOS용 프로젝트, 플레이그라운드import Cocoa // OS X용 플레이그라운드 main 전통적으로 main파일의 main함수에서 애플리케이션이 시작하지만 Swift는 별도의 main함수를 작성하지 않는다. main 소스 코드의 글로벌 영역에서 시작. 세미콜론 Objective-C를 포함한 많은 프로그래밍 언어에서 문장 끝에 세미콜론(;)을 붙이지만 Swift에서는 생략할 수 있다. 단 한 줄에 여러 문장을 작성할 때는 세미콜론으로 구분.var i = 0; i = 1 공백 문자공백의 위치에 따라서 연산자를 다르게 인식한다. 일반적인 코드는 다음과 같지만 let i1 = 1 + 2 let i2 = 1+2 한 쪽만 붙여 사용할 경우.. 2015. 9. 21.
마케팅을 위한 고객 리서치 방법 리서치탐색조사상황 탐색을 하는 것전략조사회사에서 컨셉을 만드는 것. 얼마나 먹힐지, 사람들의 반응은 어떨지추적조사시행된 것이 시장에서 제대로 성과가 나오는지 조사해서 개선안을 마련하기 위한 것조사정량조사숫자로 된 수치가 되어있는 것정성조사추측하는 것HUT(Home Use Test)시장 출시 전 제품에 대한 사전 피드백 파악 가능담배 신제품을 만든다면, 실제 흡연자들에게 나눠준 뒤 결과 리서치 목적을 명확하게 제시하고 시행해야 한다. 그렇지 않으면 산으로 갈 수 있다.조사 대상자는 가장 적합하거나 타겟에게 설문 조사를 해야한다. 찾기가 매우 어려운 조사일 경우, 푸스터 샘플(50~100명 이내) 수집이 필요30문항 이상 혹은 15분을 넘어갈 경우, 응답자들의 응답 집중도가 낮아지는 경향을 보임설문 만들 때.. 2015. 9. 16.
[!] Pods written in Swift can only be integrated as frameworks; add `use_frameworks!` to your Podfile or target to opt into using it. The Swift Pod being used is: [!] Pods written in Swift can only be integrated as frameworks; add `use_frameworks!` to your Podfile or target to opt into using it. The Swift Pod being used is: 외부 라이브러리를 추가할 때 cocoapods를 이용하다보면 이런 메세지를 보는 경우가 있다.제대로 추가도 안되거니와, .lock파일이 생성이 안된다. 이유는 명확. 써 있는 대로 use_frameworks! 를 Podfile에 추가하면 된다. # Uncomment this line to define a global platform for your project# platform :ios, '6.0'pod ‘Googl.. 2015. 9. 8.
GCM ios에 적용하기 GCM이 IOS를 공식적으로 지원하기 시작하면서, 크로스 플랫폼 개발에 있어 푸시 서비스를 단일화 할 수 있게 되었다. 굳이 GCM을 사용할 필요가 있는가? 라고 하면, 가장 큰 장점은 3.0에 와서 푸시 서버를 따로 만들 필요가 없어진 점을 가장 큰 장점이라고 말 할 수 있다. GCM을 적용하기 위한 사전 준비는, 기존의 APNS와 같다. 인증서를 만들고, 푸시를 사용할 앱을 애플 개발자 사이트에 등록하고 키체인을 만든다. 그 중 필요한 것은 p12파일이다. 해당 과정은 다른 곳에 많이 나와있으니 지금은 생략하고 나중에 시간이 날 때 천천히 정리할 예정이다. 우선 이 곳에서는 실제로 코드에 적용시키는 부분을 살펴보자. GCM 사이트에서 iOS 등록을 진행하다보면 GoogleServices-Info.pl.. 2015. 9. 8.
WebView와 통신하기 안드로이드 웹뷰 내의 javascript와 커뮤니케이션하는 방법은 간단하다. 애플보다 간단하고, (개인적으로) 더 강력하다. 1. Javascript -> Android2. 그 반대 1번은 정말 간단하고 강력하다. 안드로이드 내에 클래스를 하나 만든다. 어떤 것이든 상관 없다.그 안에 자바스크립트 내에서 호출할 함수를 작성하고, 그 위에 @JavascriptInterface 어노테이션을 기술한다.해당 함수가 작성된 클래스 이름이 CommunicationWithJavascript 라고 하면myWebView.addJavascriptInterface(new CommunicationWithJavascript(this), "자바스크립트에서 사용할 이름"); 이후 자바스크립트에서, 본인이 정한 태그(예를 들어 An.. 2015. 9. 7.
UIWebView Javascript와 통신하기 Swift의 앱과 웹의 통신은 기본적으로 Objective-C와 같다. 하지만 문법이 다르니 조금 달라진다. ViewController에서 UIWebViewDelegate 클래스를 상속받는다. 1. Javascript -> Swift는12func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest,navigationType: UIWebViewNavigationType) -> Bool {} Colored by Color Scriptercs 함수를 사용할 것이고, 2. 반대는 웹뷰의 stringByEvaluatingJavaScriptFromString()를 사용할 것이다. 1번은 자바스크립트 내에서 리퀘스트를 캐치했을 때 .. 2015. 9. 7.
AES encrypt decrypt 암호화 복호화 AES방식을 사용한 String 암,복호화다. 복호화한 후에는 new String(Byte)로 return했는데, 이게 서버로 가서 문제를 일으키는지는 확인하지 못했다. 문제 생기면 저것말고 다른 방식으로 byte->String 변환을 해야한다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465public class AESencryp { private static final String TAG = AESencryp.class.getSimpleName(); private static final String ALGO = "AES"; priva.. 2015. 9. 4.