Xcode Playground에서 Platform으로 분기하기
어제 9일째는 @kamui_project씨의 Lottie 애니메이션을 TableViewCell 내에서 움직여 보았습니다.이었습니다.
TL;DR
Playground상에서도 Compiler Control Statements 을 사용할 수 있다는 이야기.
특히 사용하고 싶지 않지만 ...
#if os(iOS)
print("iOS")
#elseif os(macOS)
print("macOS")
#elseif os(OSX) // macOSの時と一緒
print("OSX")
#elseif os(tvOS)
print("tvOS")
#endif
Playground의 Platform
새로운 Playground를 만들 때
이
기존 파일의 경우
File Inspector
에서 변경 가능
Compiler Control Statements
Compiler Control Statements는 컴파일 타임에 평가되며 조건외 행은 무시되므로 다음과 같이 사용할 수 있습니다.
#if os(iOS)
import UIKit
let color: UIColor = #colorLiteral(red: 1, green: 0.1491314173, blue: 0, alpha: 1)
#elseif os(macOS)
import AppKit
let color: NSColor = #colorLiteral(red: 1, green: 0.1491314173, blue: 0, alpha: 1)
#elseif os(tvOS)
#endif
print(color)
//
// Platform: iOS
// UIExtendedSRGBColorSpace 1 0.149131 0 1
//
// Platform: macOS
// NSCustomColorSpace sRGB IEC61966-2.1 colorspace 1 0.149131 0 1
//
// Platform: tvOS
// Playground execution failed:
//
// error: Qiita.playground:15:7: error: use of unresolved identifier 'color'
// print(color)
//
요약
공부회의 간친회에서 @takasek 과 ㅎㅎㅎ 과 이야기했을 때 발견했습니다.
여러가지 생각해 보았지만, 역시 Playground에서 사용하고 싶은 타이밍은 생각하지 않는다...
Reference
이 문제에 관하여(Xcode Playground에서 Platform으로 분기하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yutailang0119/items/be3cd12626ea8ce27ad8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#if os(iOS)
print("iOS")
#elseif os(macOS)
print("macOS")
#elseif os(OSX) // macOSの時と一緒
print("OSX")
#elseif os(tvOS)
print("tvOS")
#endif
새로운 Playground를 만들 때
이
기존 파일의 경우
File Inspector
에서 변경 가능Compiler Control Statements
Compiler Control Statements는 컴파일 타임에 평가되며 조건외 행은 무시되므로 다음과 같이 사용할 수 있습니다.
#if os(iOS)
import UIKit
let color: UIColor = #colorLiteral(red: 1, green: 0.1491314173, blue: 0, alpha: 1)
#elseif os(macOS)
import AppKit
let color: NSColor = #colorLiteral(red: 1, green: 0.1491314173, blue: 0, alpha: 1)
#elseif os(tvOS)
#endif
print(color)
//
// Platform: iOS
// UIExtendedSRGBColorSpace 1 0.149131 0 1
//
// Platform: macOS
// NSCustomColorSpace sRGB IEC61966-2.1 colorspace 1 0.149131 0 1
//
// Platform: tvOS
// Playground execution failed:
//
// error: Qiita.playground:15:7: error: use of unresolved identifier 'color'
// print(color)
//
요약
공부회의 간친회에서 @takasek 과 ㅎㅎㅎ 과 이야기했을 때 발견했습니다.
여러가지 생각해 보았지만, 역시 Playground에서 사용하고 싶은 타이밍은 생각하지 않는다...
Reference
이 문제에 관하여(Xcode Playground에서 Platform으로 분기하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yutailang0119/items/be3cd12626ea8ce27ad8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#if os(iOS)
import UIKit
let color: UIColor = #colorLiteral(red: 1, green: 0.1491314173, blue: 0, alpha: 1)
#elseif os(macOS)
import AppKit
let color: NSColor = #colorLiteral(red: 1, green: 0.1491314173, blue: 0, alpha: 1)
#elseif os(tvOS)
#endif
print(color)
//
// Platform: iOS
// UIExtendedSRGBColorSpace 1 0.149131 0 1
//
// Platform: macOS
// NSCustomColorSpace sRGB IEC61966-2.1 colorspace 1 0.149131 0 1
//
// Platform: tvOS
// Playground execution failed:
//
// error: Qiita.playground:15:7: error: use of unresolved identifier 'color'
// print(color)
//
공부회의 간친회에서 @takasek 과 ㅎㅎㅎ 과 이야기했을 때 발견했습니다.
여러가지 생각해 보았지만, 역시 Playground에서 사용하고 싶은 타이밍은 생각하지 않는다...
Reference
이 문제에 관하여(Xcode Playground에서 Platform으로 분기하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yutailang0119/items/be3cd12626ea8ce27ad8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)