Warum ist Bool "AnyObject" anstelle von "Any"?

8

Ich habe eine einfache Frage: Warum gilt Bool als AnyObject Laut Apples Dokumentation:

  • " AnyObject kann eine Instanz eines beliebigen Klassentyps darstellen .

  • Bool ist eine Struktur

Warum wird diese Aussage bestanden?

%Vor%

    
Rembrandt Q. Einstein 08.06.2016, 15:21
quelle

2 Antworten

7

Weil es mit einer NSNumber-Instanz verbunden wird.

  

Swift überbrückt automatisch bestimmte native Nummerntypen, z. B. Int   und Float, zu NSNumber. - Verwenden von Swift mit Kakao und Objective-C (Swift 2.2) - Zahlen

Versuchen Sie Folgendes:

%Vor%     
Alexander 08.06.2016 15:27
quelle
4

Dieses Verhalten ist auf die Playback-Laufzeit zurückzuführen, die Back-the-Scenes zu Objective-C / Cocoa-APIs führt. Swift Version 3.0-dev (LLVM 8fcf602916, Clang cf0a734990, Swift 000d413a62) unter Linux reproduziert dieses Verhalten nicht, mit oder ohne Foundation importiert

%Vor%

Probieren Sie es online aus.

    
JAL 08.06.2016 16:30
quelle

Tags und Links