Travailler avec des tableaux C de longueur fixe est un peu ennuyeux lors de l'utilisation de la bibliothèque C de Swift. Parce qu'il est traité comme Tuple dans Swift. Le tuple n'est pas itérable, il est donc difficile de faire référence à des éléments. Que faire avec ceci?
Comment convertir Tuple en Array avec réflexion, comme décrit sur https://qiita.com/codelynx/items/83f4b3829267d8d25b07. Il n'y a pas de problème. Cependant, la réflexion est une charge lourde sur le compilateur, ce n'est donc pas une méthode agressive à utiliser.
var foo_list = func_with_c()
let ptr = UnsafeMutablePointer<Foo>(&foo_list.foo.0)
// "Longueur fixe"Écrivez la taille de. Par exemple, supposons que vous sachiez que la longueur est de 34.
for i in 0..<34 {
let foo = ptr[i]
print(foo)
}
Je ne suis pas content d'utiliser var
, mais il est compatible avec le compilateur car il ne fait pas de réflexions.
Je me demande si j'écris souvent comme ça à moins qu'il n'y ait une raison particulière ..?
Référence: Implémentation UUID de Swift Foundation
Recommended Posts