Tag Archives: swift

Swift로 즐기는 이미지프로세싱

Swift와 Playground를 즐길만한 놀이를 찾다가 간략하게 픽셀을 가지고 노는 걸 해보면 어떨까해서 만들어 보았습니다. 거창하게 이미지프로세싱이라 제목을 붙였지만 아주 간단한 것들만 해 보았습니다. 🙂 우연히 발견한 RGBAImage가 많은 도움이 되었습니다. 아래의 Playground는 https://github.com/skyfe79/SwiftImageProcessing 에서 받을 수 있습니다. Swift Image Processing This project contains swift playgrounds that demonstrate how to do pixel operations in swift. Thanks to… Read More »

Swift와 C언어의 Pointer

UnsafePointer와 UnsafeMutablePointer Swift에서 C언어의 레거시 API를 사용할 때, C API가 포인터를 담고 있는 경우 Swift에서는 아래의 두 가지 경우로 함수 시그니쳐가 변환되어 임포트 됩니다. UnsafePointer<T> UnsafeMutablePointer<T> C언어의 API 에서 함수의 인자에 const가 붙은 경우 UnsafePointer<T>가 되며 const가 없는 경우 UnsafeMutablePointer<T>가 됩니다. 몇 가지 예를 들면 아래와 같습니다.

C언어에서 포인터를 선언하기 위해서 아직 정의되지 않은… Read More »

Swift와 C++ 코드 동시에 사용하기

ObjectiveC는 C언어의 Super Set이라 C코드를 자유롭게 ObjC 파일 내에서 사용할 수 있습니다. C++의 경우 m 확장자를 mm으로 변경해 주면 사용할 수 있습니다. iOS의 개발 언어가 Swift로 변경되고 나서는 C++을 사용하기 위해 약간의 수고를 더 해줘야 합니다. 안드로이드의 JNI에 비하면 아무 것도 아니지만요. 다음 순서로 하면 됩니다. C++ 모듈을 만든다 (h/cpp or hpp/cpp) ObjC++ 랩퍼를 만든다.… Read More »

Swift로 아주 큰 수를 곱해 보자.

Swift로 큰 수를 곱해보자. 이를테면, 12345678912345678901234567891234567890123456789123456789012345678912345678901234567891234567890123456789123456789012345678912345678901234567891234567890123456789123456789012345678901234567890123456789 *  12345678912345678901234567891234567890123456789123456789012345678912345678901234567891234567890123456789123456789012345678912345678901234567891234567890123456789123456789012345678901234567890123456789 같은 수를 곱해보자. 

대수적 데이터 타입과 Enum

대수적 데이터 타입은 다른 데이터 타입을 조합 및 연산하여 하나의 새로운 집합을 정의할 때, 해당 집합을 대수적 데이터 타입이라고 한다. 쉽게 얘기해 집합을 정의하는 것이다. 헤스켈에서 대표적인 대수적 데이터 타입은 Bool 타입이다.

Bool 타입은 True타입과 False타입이 모여 Bool이라는 집합을 정의한다고 생각할 수 있다. 대수적 데이터 타입의 몇 가지 예를 더 살펴보자.

Point 집합은… Read More »

Swift를 스트립트 언어로 사용하기

Swift는 컴파일형 언어이지만 스트립트 언어로 사용하는 일도 가능하다. 아래처럼 파일을 만들고 스크립트 파일을 실행해 한다.

실행해 보면  Hello world 문자열이 화면에 출력된 것을 볼 수 있다. Swift 스크립트 프로그램이 커맨드라인 인자를 받을 수 있다면 좀 더 유용할 것이다. Swift에는 아래와 같은 커맨드라인 인자를 위한 변수를 제공한다. C_ARGC : 전달되는 인자의 갯수 C_ARGV… Read More »

Swift REPL

콘솔환경에서 swift를 REPL 할 수 있다. RELP는 Read Eval Print Loop 의 줄임말이다. 문자 그대로 표현식을 읽고 출력하는 것의 반복이라는 뜻이다. 이것을 좀 더 쉽게 그림으로 표현해보자.