* Swift 비교 연산자 수의 기본적인 비교 연산은 타 언어와 다를게 없으므로 패스 문자열 비교 연산은 objective-c 의 [변수명 isEqualToString:@"비교문자열"] 처럼 쓸줄 알았는데 너무 심플해졌다. let name = "world"if name == "world" { print("hello, world")} else { print("I'm sorry \(name), but I don't recognize you")} 그냥 비교 연산자만 쓰면 된다. 또한 동시에 여러 변수를 if or 처럼 사용도 할수 있다. (1, "zebra", 3) < (2, "apple", 2) // true because 1 is less than 2(3, "apple") < (3, "bird") // t..
* Swift 조건문 어느 언어에서나 다름없이 사용하는 조건문은 if 와 switch 구문이다. if 구문 같은 경우에는 사용방법도 크게 다르지 않다. if A > B{ } , if ( A > B ){ }var test : Bool = true;if( test == false) {} 이 포스트에서 다룰건, 바로 switch 구문이다. switch 구문 또한 크게 다를건 없지만, 3가지 특이점이 있다. Switch 구문 예제 가장 먼저 눈에 띄는게 바로 default : 를 안쓰면 안된다는것. Playground execution failed: MyPlayground.playground:12:1: error: switch must be exhaustive, consider adding a default c..
*Swift Optional보통 옵션이라 하면 해도되고 안해도 되는 그런 의미인데마찬가지로 스위프트에서 옵셔널 기능은, 변수에 nil 이 들어가도 된다는것을 의미한다. 사용은 변수명의 자료형 뒤에 물음표(?) 를 붙이면 된다. 플레이그라운드에서 물음표를 붙이고 떼고 해보면 에러가 나고 안나고를 확인 할 수 있다. 예제를 따라 다양하게 작성해본 코드입니다. 변수에 nil 체크 ( 5~9라인 )if let 을 활용한 optional binding 활용방법 ( 14~26 라인 )( 바인딩이 될 경우, 즉 nil이 아닌 경우에 사용 )[보충 : 이와같은 형태로도 쓸수 있다 ] if let actualNumber = Int(possibleNumber) { print("\"\(possibleNumber)\" has..
Swift 에서 사용할수 있는 반복문의 종류는 다음과 같다. for, for-in, while, repeat-while 라고 애플 책에 나와있지만, for문 예제는 찾을수가 없었다.. for( $i=0; $i 2,4,8,16,32,64, 128 결과는 128 다음에서 발췌: Apple Inc. ‘The Swift Programming Language (Swift 2.2).’ iBooks. https://itun.es/kr/jEUH0.l 변수에 자료형을 따로 명시 안해도되는 Swift 에선 for - in 구문이 굉장히 편리할것으로 보인다. 마치 PHP를 보는것같다..
*PlayGround - 놀이터 Xcode6 에서부터 지원한것같은데 뭔지도 모르고 써볼생각을 안했었다가 이번에 정식으로 공부하면서 써보게 되었다. 실시간으로 데이터가 변하는걸 확인하는건 어쩔수없지만 간단한 조건문이나 반복문등 앱 개발중에 앱을 실행시켜 NSLog 와 PO 를 통해 변수값 확인하는 번거로움을 줄일수 있다. 또한 간단한 레이아웃 배치 코드를 작성해 확인해볼수 있다.xib, storyboard를 사용하지 않는 나에겐 매우 유익한 툴이었다. ( 이걸 이제야 알다니.. ) 코드를 작성하고 잠깐 타이핑을 멈추면 Running Playground... 라는 메시지가 나오고우측화면에 결과가 나오게 된다.
스위프트에서 배열과 딕셔너리는 모두 브라켓( [] ) 을 사용한다. 배열 ( Array ) 은 다음과 같이 사용한다. var arrayList = [ "value1" , "value2" , "value3" ] arrayList[1] = "change value2" 딕셔너리 ( Dictionary ) 는 다음과 같이 사용한다. var dictionaryList = [ "dictionary Key" : "dictionary value", "key2" : "value2"]( * Objective-c 에서는 키가 우측에 있던 반면 Swift 는 앞이라는것에 주의 ) dictionaryList["key2"] = " value2 has changed " ------------------ 그렇다면, 빈 배열과 딕셔너..
Objective-c 에서는 변수를 NSString *varName = @"스트링"; 상수는 Private 의 경우 .m 파일 implementation 앞에 다음과 같이 선언한다. static NSString *const varName = @"스트링"; Public 의 경우 .h 파일에 extern NSString *const varName; 그리고 .m 파일 implementation 안에 NSString *const varName = @"스트링"; 과 같이 혹은 setter, getter 함수를 만들어 사용한다. 즉 복잡하다 @@ 그런데 Swift 에선~! 변수는 var varName = 42 var varName = "is Text" var varName = ["is array", "second ..
모바일 앱에서 촬영한 사진을 글자만 추출해서 데이터를 제공해주는 서비스를 기획하며.. 클라이언트가 바로 판독하도록 해도 되지만, 서버에서 데이터들을 수집하고 정확성을 높일수 있지 않을까 하는 마음에 시도해본 설치기를 시작한다. 설치했던 OS는 CentOS 7 이다. 인터넷상에서 돌아다니는 오픈소스 OCR중에서는 아마 이 엔진이 가장 유명하지 않을까 싶으며 기본적으로 한글까지 지원해준다. 바로 tesseract-ocr 이다. 우선 엔진 파일을 다운받자.git clone https://github.com/tesseract-ocr/tesseract.git( 바로 tesseract 라는 폴더가 생성되므로 폴더를 따로 만들지 않아도 된다. ) 그다음 tesseract-ocr 엔진을 설치하는데 필요로 하는 어플리케..
- Total
- Today
- Yesterday
- 캠핑
- 미세먼지
- 강좌
- 공기청정기
- ios
- swift
- 라즈베리파이
- Deeplearning
- Python
- OpenCV
- php
- Android
- 엘라스틱서치
- 리눅스
- object-C
- 파이썬
- 아두이노
- 딥러닝
- 우분투
- xcode
- 사물인터넷
- 머신러닝
- mysql
- 스위프트
- 인공지능
- diy
- ubuntu
- 서버
- 아이폰
- IOT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |