Articles of veloci

swift for loop: per index, elemento in array?

C’è una funzione che posso usare per scorrere su un array e avere sia l’indice che l’elemento, come l’enumerazione di python? for index, element in enumerate(list): …

Confuso riguardo alle dichiarazioni di Swift Array

C’è qualche differenza tra quanto segue? var array1_OfStrings = [String]() var array2_OfStrings: [String] = [] var array3_OfStrings: [String] Testing in Playground mostra che 1 e 2 sono uguali ma 3 si comporta diversamente. Qualcuno può spiegarmi la differenza, per favore? E anche quale sarà il modo preferito per dichiarare una matrice vuota di String ?

Stenografia per verificare se un object esiste in un array per Swift?

Attualmente, ho una matrice di oggetti come questo: var myArr = [ MyObject(name: “Abc”, description: “Lorem ipsum 1.”), MyObject(name: “Def”, description: “Lorem ipsum 2.”), MyObject(name: “Xyz”, description: “Lorem ipsum 3.”) ] Sto testando se esiste un object prima di procedere in questo modo: let item = myArr.filter { $0.name == “Def” }.first if item != […]

Come posso estendere gli array digitati in Swift?

Come posso estendere il tipo Swift’s Array o T[] con i programmi di utilità funzionali personalizzati? Navigando nei documenti API di Swift si dimostra che i metodi Array sono un’estensione del T[] , ad es .: extension T[] : ArrayType { //… init() var count: Int { get } var capacity: Int { get } […]

Errore del compilatore Swift: “intestazione non modulare nel modulo quadro”

Ora vorrei migrare il mio framework ObjC a Swift e ho ricevuto il seguente errore: include of non-modular header inside framework module ‘SOGraphDB’ I riferimenti sono a un file di intestazione che definisce semplicemente un protocollo e io uso questo file di intestazione in alcune classi per usare questo protocollo. Sembra correlato alla funzionalità del […]

Scegli un elemento casuale da un array

Supponiamo che io abbia una matrice e voglio scegliere un elemento a caso. Quale sarebbe il modo più semplice per farlo? Il modo ovvio sarebbe array[random index] . Ma forse c’è qualcosa come l’ array.sample di array.sample ? O se non fosse ansible creare un tale metodo utilizzando un’estensione?

Errore nella class Swift: proprietà non inizializzata alla chiamata super.init

Ho due classi, Shape e Square class Shape { var numberOfSides = 0 var name: String init(name:String) { self.name = name } func simpleDescription() -> String { return “A shape with \(numberOfSides) sides.” } } class Square: Shape { var sideLength: Double init(sideLength:Double, name:String) { super.init(name:name) // Error here self.sideLength = sideLength numberOfSides = 4 […]

Come posso stampare il tipo o la class di una variabile in Swift?

C’è un modo per stampare il tipo di runtime di una variabile in swift? Per esempio: var now = NSDate() var soon = now.dateByAddingTimeInterval(5.0) println(“\(now.dynamicType)”) // Prints “(Metatype)” println(“\(now.dynamicType.description()”) // Prints “__NSDate” since objective-c Class objects have a “description” selector println(“\(soon.dynamicType.description()”) // Compile-time error since ImplicitlyUnwrappedOptional has no “description” method Nell’esempio sopra, sto cercando un […]

Perché un requisito di proprietà get-only in un protocollo non può essere soddisfatto da una proprietà conforms?

Perché il seguente codice genera un errore? protocol ProtocolA { var someProperty: ProtocolB { get } } protocol ProtocolB {} class ConformsToB: ProtocolB {} class SomeClass: ProtocolA { // Type ‘SomeClass’ does not conform to protocol ‘ProtocolA’ var someProperty: ConformsToB init(someProperty: ConformsToB) { self.someProperty = someProperty } } La risposta in questa domanda simile ha […]

Come verificare se un elemento si trova in un array

In Swift, come posso verificare se un elemento esiste in un array? Xcode non ha suggerimenti per contain , include o has , e una rapida ricerca nel libro non ha trovato nulla. Qualche idea su come controllare questo? So che esiste un metodo find che restituisce il numero di indice, ma esiste un metodo […]