Comment faire pour déterminer le type d'une variable en Swift

Est-il une fonction pour déterminer le type de variable Swift? Je suppose qu'il pourrait y avoir quelque chose comme comme type() en Python.

Je voudrais un moyen de juger si une variable est un objet de la Fondation ou de la variable C dans Swift. Comme NSString vs Chaîne, ou NSArray vs tableau. De sorte que je peux me connecter en console et de voir clairement ce qu'il est.

Par exemple, je voudrais savoir le type inféré pour la première array ci-dessous:

var array = [1,2,3]  //by default NSArray or array?
var array:[Int] = [1,2,3]
var array:NSArray = [1,2,3]
var array:Array<Any> = [1,2,3]

J'ai vu des réponses pour juger si un donné variable est une sorte de donné type dans cette question, mais je vais dire que c'est tout à fait différent de ce que je veux poser.

  • Pas que je sache , mais vous pouvez rouler en bas de votre propre?
  • J'ai édité question de faire ma déclaration plus claire
  • Pourriez-vous donner un exemple du type de code où vous voulez utiliser cette connaissance? Si le type est connu à la compilation, vous pourriez probablement utiliser une fonction générique, quelque chose comme func show<T>(x:T) { println("\(x) is of type \(T)" }. Si elle n'est pas connue au moment de la compilation, je ne sais pas si ce serait même possible, car il ne semble pas être une valeur C serait nécessaire d'exécution des métadonnées. (Malheureusement je ne peux pas essayer cela pour moi, car Apple n'a toujours pas approuvé mon compte développeur.)
  • Je ne suis pas d'accord avec la fermeture de cette question comme un double de Comment obtenir le Type d'un Objet dans Swift. Même si la question écrite serait une bonne double, la réalité est que toutes les réponses, y compris la accepté de répondre, seulement l'adresse de déterminer si une valeur est d'un type donné. À moins que le sens de cette autre question veut onu-accepter cette réponse, je pense qu'il est raisonnable de s'attendre qu'ils étroite de la question sur la façon de vérifier si une valeur est d'un type donné, faisant distinct de cette question.
  • Je suis d'accord,de déterminer un type donné et de déterminer le type de directement sont tout simplement pas la même
  • J'ai édité cette question de lever l'ambiguïté de stackoverflow.com/q/24091882 et je vote pour la réouverture. Ils sont à la fois utiles, de façon similaire, les questions, mais les réponses sont tout à fait distincte de sorte qu'il serait utile de les garder séparés.

InformationsquelleAutor piaChai | 2014-06-07