Articles of veloce

Qual è il significato del segno “#” in una lingua veloce

Ho visto il codice come questo: func hello(name: String, #helloMessage: String) -> String { return “\(helloMessage), \(name).” } La mia domanda è cosa significa # segno prima del nome del parametro? Significa che il parametro deve essere specificato quando si chiama una funzione? Inoltre qualcuno può mostrarmi una differenza con la funzione senza questo simbolo […]

Accesso a un valore di associazione Enumeration in Swift

In questo codice ho scritto un enum davvero inutile che definisce un Number ansible con Int o Float. Non riesco a capire come posso accedere al valore che ho impostato con l’associazione. Se provo a stamparlo, ottengo solo (Enum Value) enum Number { case int (Int) case float (Float) } let integer = Number.int(10) let […]

Gamma inversa in Swift

C’è un modo per lavorare con gli intervalli inversi in Swift? Per esempio: for i in 5…1 { // do something } è un ciclo infinito. So che posso usare 1..5 invece, calcolare j = 6 – i e usare j come mio indice. Mi stavo chiedendo se c’era qualcosa di più leggibile?

Rapida proprietà di sola lettura esterna, readwrite

In Swift, qual è il modo convenzionale per definire il modello comune in cui una proprietà deve essere esternamente in sola lettura, ma modificabile internamente dalla class (e sottoclassi) che la possiede. In Objective-C, ci sono le seguenti opzioni: Dichiarare la proprietà come readonly nell’interfaccia e utilizzare un’estensione di class per accedere internamente alla proprietà. […]

Macro in Swift?

Attualmente Swift supporta macro, o ci sono piani futuri per aggiungere supporto? Attualmente sto sparpagliando: Log.trace(nil, function: __FUNCTION__, file: __FILE__, line: __LINE__) In vari punti del mio codice.

Iterare attraverso un dizionario in Swift

Sono un po ‘confuso sulla risposta che Xcode mi sta dando a questo esperimento nella Guida linguistica di Swift Programming: // Use a for-in to iterate through a dictionary (experiment) let interestingNumbers = [ “Prime”: [2, 3, 5, 7, 11, 13], “Fibonacci”: [1, 1, 2, 3, 5, 8], “Square”: [1, 4, 9, 16, 25] ] […]

== overload per la class personalizzata non viene sempre chiamato

Ho un operatore personalizzato definito globalmente in questo modo: func ==(lhs: Item!, rhs: Item!)->Bool { return lhs?.dateCreated == rhs?.dateCreated } E se eseguo questo codice: let i1 = Item() let i2 = Item() let date = Date() i1.dateCreated = date i2.dateCreated = date let areEqual = i1 == i2 areEqual è falso. In questo caso […]

Implementazione algoritmo di ordinamento rapido

Sfortunatamente non ho trovato nulla su Internet anche se sono sicuro che possa essere trovato – mi sono chiesto come viene implementato l’algoritmo di sort di Swift. Sta usando mergesort o quicksort o qualcosa di completamente diverso? Grazie per un link o una risposta 🙂

Molteplici funzioni con lo stesso nome

Sono nuovo di Swift e ho seguito alcuni tutorial e molti di loro definiscono una funzione più di una volta con lo stesso nome. Sono abituato ad altri linguaggi di programmazione in cui ciò non può essere fatto altrimenti genera un errore. Quindi ho controllato il Manuale Swift ufficiale e ho anche controllato la parola […]

Appiattisci una matrice di array in Swift

C’è una controparte in Swift da flatten in Scala, Xtend, Groovy, Ruby e co? var aofa = [[1,2,3],[4],[5,6,7,8,9]] aofa.flatten() // shall deliver [1,2,3,4,5,6,7,8,9] Ovviamente potrei usare riduci per quello, ma quello fa schifo var flattened = aofa.reduce(Int[]()){ a,i in var b : Int[] = a b.extend(i) return b }