Ne peut appeler à la valeur de non-fonctionnement de type 'String'

Je suis en train de passer le ILTItem variable dans mon ILTViewController, déclenchée par AppDelegate.swift lorsque l'utilisateur lance mon application via un deeplink.

Le code que j'ai des erreurs avec:

Ne peut appeler à la valeur de non-fonctionnement de type 'String'

sur la ligne où j'définir ilt.

Voici le code que j'ai en ce moment:

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
var ilt = ILT(homeworkID: 1234, title: "History ILT", subject: "History", teacher: "Miss A Smith", teacherCode: "asmith", studentID: 12345, description: "Description....", due: 1450137600, status: "In Progress", hasAttachments: true)
var newVC = ILTViewController()
newVC.ILTitem = ilt
appDelegate.window?.addSubview(newVC.view)

Pourquoi cela pourrait-il être? Dans mon ILTViewController classe j'ai:

class ILTViewController: UIViewController {
  //accept the incoming ILT struct
  var ILTitem: ILT!

IlT Struct Déclaration:

struct ILT {
    let homeworkID: Int
    let title: String
    let subject: String
    let teacher: String
    let teacherCode: String
    let studentID: Int
    let description: String
    let due: Double
    let status: String
    let hasAttachments: Bool
}
Publier vos ILT déclaration de classe
J'ai ajouté
Votre code fonctionne très bien: swiftstub.com/580271845 . Vous avez probablement déclaré String variable nommée ILT quelque part d'autre et c'est pourquoi il échoue.
Ce n'est pas la question, comme si j'associe à newVC.ILTItem = ILT(homeworkID: 1234, title: "History ILT", subject: "History", teacher: "Miss A Smith", teacherCode: "asmith", studentID: 12345, description: "Description....", due: 1450137600, status: "In Progress", hasAttachments: true) il échoue toujours avec le même message.
Ce que je disais, c'est que vous redéclarée ILT (en majuscules), pas ilt (en minuscules). L'erreur est de vous dire que vous essayez d'appeler un String au lieu d'une méthode (struct un constructeur dans votre cas). Et, comme vous pouvez le vérifier dans le lien que j'ai fourni, l'erreur est ailleurs, dans votre code, parce que le code que vous avez posté, fonctionne très bien.

OriginalL'auteur James | 2016-01-27