2017-05-07 13 views
4

:Ubuntu Linux의 순수 Swift에서 숫자 유형이 NSNumber에 자동으로 연결되지 않습니까? 당신이 경우에 맥 OS에

import Foundation 
let x = Int32(1) as? NSNumber 

X는 nil이 아닌 것입니다.

우분투 리눅스에서 (스위프트 3.1.1에서도 마찬가지입니다.) x는 nil입니다.

내가 잘못하고있는 것입니까, 아니면 Ubuntu/Linux에서 Swift를 사용하여 NSNumber에 NSNumber에 대한 브리징이 부족한 것입니까?

Is it possible to replicate Swifts automatic numeric value bridging to Foundation (NSNumber) for (U)Int8/16/32/64 types?https://github.com/SwiftyJSON/SwiftyJSON/issues/745

+3

는 말한다 : * * –

+0

붙여 넣기 "우리는 ... 리눅스에 브리징이 없습니다" 그 대답으로 @ MartinR주세요 - 대답해야합니다. –

답변

2

리눅스에 NSNumber에는 자동 브리지 없다 참조하십시오. 출처 : NSNumber bridging and Numeric types : 리눅스 플랫폼을위한

고려

as? 캐스트가 덜 중요하므로 우리는 리눅스에 브리징이없는; 그러나 이것이 브릿지를 가지면 원하는 기능이 될 것입니다. https://github.com/apple/swift-evolution/blob/master/proposals/0170-nsnumber_bridge.md에서

+1

그리고 Swift 4에서이 기능을 사용할 것으로 보입니다. https://github.com/apple/swift-evolution/commit/101d0f6c20fc9d8c3139cc84ac54990790809b2a를 참조하십시오. –