'Swift.UInt32'유형의 값을 'Swift.Int'로 캐스팅 할 수 없습니다.

user1232690

테스트 프로젝트에는 일부 테스트 도우미 기능이있는 확장이 있습니다. 이렇게 :

extension Employee {
    static func mockDict() -> Dictionary<String, Any>! {
        return ["ID": arc4random() % 1000,
                "FirstName": "Employee First Name",
                ...]
    }
}

(불필요한 코드를 제거했습니다). 아직 알 수없는 이유로이 사전에서 ID에 액세스하는 데 문제가 있습니다. 캐스팅 할 때 SIGABRT 6이 있습니다.

employeeDict["ID"] as! Int

Xcode 디버거 콘솔도이 특정 정수를 좋아하지 않습니다.

정수

문자열은 잘 작동합니다. 그러한 문제가 발생 했습니까? 어떤 아이디어?

편집 : 누군가가이 문제에 직면 할 경우를 대비하여. UInt32 / Int32에서 Int 로의 캐스팅은 설계 상 실패합니다. 객체가 Any또는 그 Anyobject사이 에 캐스팅 된 경우에도 . 그래도

@available(*, message: "Converting UInt32 to Int will always succeed.")
public init?(exactly value: UInt32)

Int의 선언에서

public struct Int : SignedInteger, Comparable, Equatable {
    ...
}

public struct Int32 : SignedInteger, Comparable, Equatable {
    ...
}

JSON 직렬화에서이 동작이 발생할 수있는 사람들을 위해 편집 2. 예, NSInvalidArgumentException Invalid type in JSON write (_SwiftValue)UInt32, Int64 또는 Int 이외의 Integer 프로토콜 인스턴스를 직렬화하도록 요청 하면 직렬화가 오류와 함께 실패합니다.

Pranav Wadhwa

이 시도:

let a = employeeDict["ID"] as! UInt32
let number = Int(a)

이제를 사용 number하여 모든 작업을 수행 할 수 있습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

swift 'in_addr_t'(일명 'UInt32') 유형의 값을 예상 인수 유형 'UnsafeMutablePointer <in_addr_t>!'로 변환 할 수 없습니다.

분류에서Dev

'Swift.Optional <Swift.AnyObject>'유형의 값을 'NSFetchRequest'로 캐스팅 할 수 없습니다.

분류에서Dev

'NSTaggedPointerString'유형의 값을 'NSNumber'로 캐스팅 할 수 없습니다-PHP에서 Swift로

분류에서Dev

Swift 2에서 '__NSCFNumber'유형의 값을 'NSString'으로 캐스팅 할 수 없습니다.

분류에서Dev

'AVPlayer'유형의 값을 'Swift.AnyObject.Type'으로 캐스팅 할 수 없습니다.

분류에서Dev

Swift 2에서 'UINavigationController'유형의 값을 캐스팅 할 수 없습니다.

분류에서Dev

'[UInt32]'유형의 값을 첨자 할 수 없습니다.

분류에서Dev

"UInt32"유형의 인덱스를 사용하여 [String] 유형의 값을 첨자 할 수 없습니다.

분류에서Dev

'System.Int32'유형의 개체를 'System.Int64'유형으로 캐스팅 할 수 없습니다.

분류에서Dev

'__NSCFNumber'(0x1105dc3c0) 유형의 값을 'NSString'Swift 3으로 캐스트 할 수 없습니다.

분류에서Dev

Swift : 'int'유형의 값을 'int'유형의 값에 할당 할 수 없습니다. 오류

분류에서Dev

UITableViewCell 유형의 값을 "ActuTblCell"로 캐스팅 할 수 없습니다.

분류에서Dev

'UITableViewCell'유형의 값을 'PFTableViewCell'로 캐스팅 할 수 없습니다.

분류에서Dev

'MKMapView'유형의 값을 'MKOverlay'로 캐스팅 할 수 없습니다.

분류에서Dev

Swift 오류, Int 유형을 int 16으로 변환 할 수 없습니다.

분류에서Dev

'(UInt32, UnsafePointer <Int8>, UInt, [CChar], Int, UnsafeMutablePointer <CUnsignedChar>) 유형의 인수 목록을 사용하여'CCHmac '을 호출 할 수 없습니다.

분류에서Dev

System.Int64 형식의 개체를 System.Int32 형식으로 캐스팅 할 수 없습니다.

분류에서Dev

swift2에서 문자열 유형의 값을 예상 인수 유형 int로 변환 할 수 없습니다.

분류에서Dev

Swift properyWrapper는 선언 된 유형의 값을 지정된 유형의 값으로 변환 할 수 없습니다.

분류에서Dev

'System.Int32'형식의 개체를 'System.Data.DataRowView'형식으로 캐스팅 할 수 없습니다.

분류에서Dev

Swift 오류 : 'Character'유형의 값을 예상 인수 유형 'Unicode.Scalar'로 변환 할 수 없습니다.

분류에서Dev

'Float'유형의 값을 예상 인수 유형 'Binding <Float>'으로 변환 할 수 없습니다. 오류 Swift 5.2

분류에서Dev

Swift : 'NSDate'유형의 값을 예상 인수 유형 'NSDateComponents'로 변환 할 수 없습니다.

분류에서Dev

Swift 범주 : "유형의 값을 예상되는 인수 유형 'AnyObject!'로 변환 할 수 없습니다.

분류에서Dev

SWIFT 오류 ""UIImageView "유형의 값을 예상 인수 유형"UIImage "로 변환 할 수 없습니다.

분류에서Dev

Swift 3.0은 (_, _)-> () 유형의 값을 예상 인수 유형 'ObjectsOrErrorBlock'으로 변환 할 수 없습니다.

분류에서Dev

swift는 (_, _)-> _ 유형의 값을 예상 인수 유형 '((_, CGFloat))-> _로 변환 할 수 없습니다.

분류에서Dev

'int'유형의 값을 예상 인수 유형 'UInt'로 변환 할 수 없습니다.

분류에서Dev

Swift : NSNumber 유형을 예상 인수 유형 Int16으로 변환 할 수 없습니다.

Related 관련 기사

  1. 1

    swift 'in_addr_t'(일명 'UInt32') 유형의 값을 예상 인수 유형 'UnsafeMutablePointer <in_addr_t>!'로 변환 할 수 없습니다.

  2. 2

    'Swift.Optional <Swift.AnyObject>'유형의 값을 'NSFetchRequest'로 캐스팅 할 수 없습니다.

  3. 3

    'NSTaggedPointerString'유형의 값을 'NSNumber'로 캐스팅 할 수 없습니다-PHP에서 Swift로

  4. 4

    Swift 2에서 '__NSCFNumber'유형의 값을 'NSString'으로 캐스팅 할 수 없습니다.

  5. 5

    'AVPlayer'유형의 값을 'Swift.AnyObject.Type'으로 캐스팅 할 수 없습니다.

  6. 6

    Swift 2에서 'UINavigationController'유형의 값을 캐스팅 할 수 없습니다.

  7. 7

    '[UInt32]'유형의 값을 첨자 할 수 없습니다.

  8. 8

    "UInt32"유형의 인덱스를 사용하여 [String] 유형의 값을 첨자 할 수 없습니다.

  9. 9

    'System.Int32'유형의 개체를 'System.Int64'유형으로 캐스팅 할 수 없습니다.

  10. 10

    '__NSCFNumber'(0x1105dc3c0) 유형의 값을 'NSString'Swift 3으로 캐스트 할 수 없습니다.

  11. 11

    Swift : 'int'유형의 값을 'int'유형의 값에 할당 할 수 없습니다. 오류

  12. 12

    UITableViewCell 유형의 값을 "ActuTblCell"로 캐스팅 할 수 없습니다.

  13. 13

    'UITableViewCell'유형의 값을 'PFTableViewCell'로 캐스팅 할 수 없습니다.

  14. 14

    'MKMapView'유형의 값을 'MKOverlay'로 캐스팅 할 수 없습니다.

  15. 15

    Swift 오류, Int 유형을 int 16으로 변환 할 수 없습니다.

  16. 16

    '(UInt32, UnsafePointer <Int8>, UInt, [CChar], Int, UnsafeMutablePointer <CUnsignedChar>) 유형의 인수 목록을 사용하여'CCHmac '을 호출 할 수 없습니다.

  17. 17

    System.Int64 형식의 개체를 System.Int32 형식으로 캐스팅 할 수 없습니다.

  18. 18

    swift2에서 문자열 유형의 값을 예상 인수 유형 int로 변환 할 수 없습니다.

  19. 19

    Swift properyWrapper는 선언 된 유형의 값을 지정된 유형의 값으로 변환 할 수 없습니다.

  20. 20

    'System.Int32'형식의 개체를 'System.Data.DataRowView'형식으로 캐스팅 할 수 없습니다.

  21. 21

    Swift 오류 : 'Character'유형의 값을 예상 인수 유형 'Unicode.Scalar'로 변환 할 수 없습니다.

  22. 22

    'Float'유형의 값을 예상 인수 유형 'Binding <Float>'으로 변환 할 수 없습니다. 오류 Swift 5.2

  23. 23

    Swift : 'NSDate'유형의 값을 예상 인수 유형 'NSDateComponents'로 변환 할 수 없습니다.

  24. 24

    Swift 범주 : "유형의 값을 예상되는 인수 유형 'AnyObject!'로 변환 할 수 없습니다.

  25. 25

    SWIFT 오류 ""UIImageView "유형의 값을 예상 인수 유형"UIImage "로 변환 할 수 없습니다.

  26. 26

    Swift 3.0은 (_, _)-> () 유형의 값을 예상 인수 유형 'ObjectsOrErrorBlock'으로 변환 할 수 없습니다.

  27. 27

    swift는 (_, _)-> _ 유형의 값을 예상 인수 유형 '((_, CGFloat))-> _로 변환 할 수 없습니다.

  28. 28

    'int'유형의 값을 예상 인수 유형 'UInt'로 변환 할 수 없습니다.

  29. 29

    Swift : NSNumber 유형을 예상 인수 유형 Int16으로 변환 할 수 없습니다.

뜨겁다태그

보관