Articles of swift3

Il metodo non – ‘@ objc’ non soddisfa il requisito facoltativo del protocollo ‘@objc’

Panoramica: Ho un protocollo P1 che fornisce un’implementazione predefinita di una delle funzioni opzionali Objective-C. Quando fornisco un’implementazione predefinita della funzione opzionale, c’è un avviso Avvertimento del compilatore: Non-‘@objc’ method ‘presentationController(_:viewControllerForAdaptivePresentationStyle:)’ does not satisfy optional requirement of ‘@objc’ protocol ‘UIAdaptivePresentationControllerDelegate’ Versione: Swift: 3 Xcode: 8 (versione pubblica) Tentativi fatti: @objc provato ad aggiungere @objc ma […]

In attesa fino al termine dell’attività

Come posso rendere il mio codice in attesa fino a quando non termina l’attività in DispatchQueue? Ha bisogno di qualche CompletionHandler o qualcosa del genere? func myFunction() { var a: Int? DispatchQueue.main.async { var b: Int = 3 a = b } // wait until the task finishes, then print print(a) // – this will […]

Quali sono le nuove parole chiave “for”, “at”, “in” nelle dichiarazioni Swift3?

Sto lavorando attraverso un tutorial per principianti su Swift che è scritto in Swift 2. Contiene codice come (esempio casuale) override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { Questo è cambiato in Swift 3 (sto usando XCode 8 Beta), e l’IDE converte utilmente questo nella nuova notazione (bellissima!): override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) { […]

Aggiungi notifica locale in ios10 – swift 3

Modifica: quindi, mettere l’app in background ha funzionato. Originale: Così ho cercato di aggiungere una notifica al nuovo UNUserNotificationCenter, ma non sembra averlo capito. Il mio controller di visualizzazione ha un’azione: @IBAction func sendPressed(_ sender: AnyObject) { let content = UNMutableNotificationContent() content.title = “Hello” content.body = “What up?” content.sound = UNNotificationSound.default() // Deliver the notification […]

Accesso al codice nell’errore Swift 3

Novità di Xcode 8 beta 4, NSError è collegato al tipo di protocollo Swift Error . Ciò influisce su StoreKit quando si tratta di SKPaymentTransaction falliti. È necessario verificare che l’errore non si sia verificato perché la transazione è stata annullata per sapere se mostrare o meno un messaggio di errore all’utente. Lo fai esaminando […]

Come applicare il tipo a un’istanza NSFetchRequest?

In Swift 2 funzionava il seguente codice: let request = NSFetchRequest(entityName: String) ma in Swift 3 dà errore: Il parametro generico “ResultType” non può essere dedotto perché NSFetchRequest è ora un tipo generico. Nei loro documenti hanno scritto questo: let request: NSFetchRequest = Animal.fetchRequest quindi se la mia class di risultato è ad esempio Level […]

Dove si dispatch_once in Swift 3?

Ok, ho scoperto la nuova API Swifty Dispatch in Xcode 8. Mi sto divertendo a usare DispatchQueue.main.async , e ho esplorato il modulo Dispatch in Xcode per trovare tutte le nuove API. Ma uso anche dispatch_once per assicurarmi che cose come la creazione di singleton e l’installazione unica non vengano eseguite più di una volta […]

Swift 3.0: errore del compilatore quando si chiama global func min (T, T) nell’estensione Array o Dictionary

Dopo la conversione da Swift 2.2 a 3.0 la mia estensione Array non si compila più, perché contiene una chiamata alla funzione di libreria standard globale min(T,T) e mostra un errore extra argument in call compilatore extra argument in call . Ecco un modo semplice per riprodurre l’errore: extension Array { func smallestInt(first: Int, second: […]

Swift 3 nomi dei primi parametri

In Swift 2, sembra che il nome del primo parametro non sia sempre richiesto quando si chiama una funzione. Ora in Swift 3, il nome del primo parametro è richiesto quando si chiama la funzione. Per esempio: func frobnicate(runcible: String) { print(“Frobnicate: \(runcible)”) } Swift 2.2 ha permesso di chiamare la funzione semplicemente digitando: Frobnicate(“Station”) […]

Swift 3 per loop con incremento

Come scrivo quanto segue in Swift3? for (f = first; f <= last; f += interval) { n += 1 } Questo è il mio tentativo for _ in 0.stride(to: last, by: interval) { n += 1 }