Attendu Déclaration erreur lors de la création de la matrice de dans ViewController, ne peuvent pas travailler pourquoi
Tout d'abord, je suis en utilisant Xcode 6 bêta 2. Deuxièmement, j'ai de l'expérience en programmation (basic, VB, langages de script) ,mais il ne marche pas graves OO programmation, et je suis totalement nouveau pour IOS de programmation. D'aller directement dans Swift. Par avance, merci à ceux qui peuvent les aider. J'ai eu du mal sur ce à quelques jours maintenant.
De la difficulté à construire un simple UIImage tableau. (J'ai enlevé tout autre code pour des raisons de simplicité.) J'essaie de comprendre pourquoi la déclaration d'une UIImage tableau et le chargement des images des œuvres au sein de viewDidLoad(), mais pas à la "base" de ViewController, qui est l'endroit où j'ai l'impression d'avoir besoin pour d'autres choses à travailler.
(J'ai remarqué qu'il semble être lié au fait que c'est une déclaration de tableau, qui futhers ma confusion. Je peux déclarer et d'attribuer simple UIImage variables dans les deux emplacements.)
Voici mon code:
// ViewController.swift
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
//Dispose of any resources that can be recreated.
}
var icon = UIImage[]()
icon.append(UIImage(named: "yes.png")) <<==== expected declaration error
icon.append(UIImage(named: "no.png"))
}
Mais ce code n'est pas:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//Do any additional setup after loading the view, typically from a nib.
var icon = UIImage[]()
icon.append(UIImage(named: "yes.png")) <==== no error, and builds
icon.append(UIImage(named: "no.png"))
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
//Dispose of any resources that can be recreated.
}
}
qu'est-ce que votre intention d'écrire du code au niveau du membre de la classe. il devrait y avoir seulement des biens et des déclarations de méthode. peut-être que vous voulez déplacer le code pour un initialiseur
OriginalL'auteur dave_the_dev | 2014-06-29
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez avoir déclarations de propriété à l'extérieur de méthodes dans une classe. Toutes les fonctionnalités de la classe va à l'intérieur de méthodes. Lorsque vous déclarez
var icon = UIImage[]()
à l'extérieur d'une méthode, c'est une instance de déclaration de la propriété et est valable code.Votre prochain deux lignes de tenter de modifier la propriété. Code en dehors de méthodes n'est jamais exécuté, car il n'y a aucune façon de l'appeler. Alors que vous pouvez déclarer des propriétés à l'extérieur de méthodes, vous devez les utiliser à l'intérieur d'une méthode dans votre classe.
Je le recommande apprendre plus au sujet de la programmation Orientée Objet, car il semble que vous n'avez pas assez de portée pour l'instant. Vous pouvez essayer une langue qui a plus de fiabilité et de ressources d'apprentissage que swift ne le fait actuellement. Si vous prévoyez de développement iOS, il serait utile d'apprendre objective-c, même si vous souhaitez utiliser Swift parce que vous allez obtenir une exposition à Pomme d'Api, qui sont les mêmes dans les deux langues.
Reconnaissants de votre aide! ce qui était/est de me lancer (et l'est toujours un peu), c'est que je peux
var dice1 = UIImage(named: "Die-1.png")
à l'extérieur de l'méthodes, mais apparemment pas avec un tableau. Comme à l'obj-C .. essayé et abandonné quelques fois... mais j'ai peut-être besoin de temps pour réagir rapidement à maturité et plus de bug, donc je peux être sûr d'une erreur, c'est moi et pas Xcode/swift bugs.C'est parce que c'est aussi une déclaration. Les déclarations de variables sont autorisés à l'extérieur de méthodes.
var a = 10 let b = "hello"
etcLes déclarations de variables sont autorisés à l'extérieur de méthodes mais les déclarations de propriété doit se produire à l'intérieur d'une méthode. Est ce que le droit?
OriginalL'auteur Connor