2016-04-26 19 views
0

Ich arbeite an dieser Zitat-App, und ich laufe immer wieder in zwei Fehler, die einfach nicht mit mir zusammenarbeiten wollen. Es heißt "Type 'businessQuote' hat kein Mitglied ('array'/'dict')". Im folgenden Screenshot sehen Sie den Fehler in der Zeile. Der springende Punkt ist, dass die App ein zufälliges Zitat in den bereitgestellten Textfeldern anzeigt. Kannst du mir bitte Helfen? Vielen Dank im Voraus.Typ '___' hat kein Mitglied 'Array'

Code with the error

Mein Ziel ist es „Importlist“ arbeiten

'ImportList' Swift file

Wenn es eine andere Frage wie diese zu bekommen, die ich übersehen habe, würde ich es begrüßen, wenn Sie mir in Verbindung bringen könnte zu es. Aber ich brauche wirklich eine Antwort. Danke nochmal.

Hier ist der Code mit dem Fehler:

import Foundation 
import UIKit 
import Social 

class businessQuote: UIViewController { 

//============================// 
//********** Outlets *********// 
//============================// 

let utility = Utility() 
@IBOutlet weak var quoteDisplay: UILabel! 
@IBOutlet weak var authorDisplay: UILabel! 
@IBOutlet weak var quoteBackground: UIImageView! //GET BACK TO THIS 

//============================// 
//********** General *********// 
//============================// 

let date = NSDate() 
var Author: String = "" 
var Quote: String = "" 

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Checks if time is greater then 3pm to change background 
    let currentTime = utility.currentTime() 
    if (currentTime >= 15) { 
     quoteBackground.image = UIImage(named: "quote_background.png") 
    } else { 
     quoteBackground.image = UIImage(named:"morning_quote_background.png") 
    } 
} 

//============================// 
//********* New Quote ********// 
//============================// 

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
    // Generates Random Number 
    func randomNumber(arrayLength: Int) -> Int { 
     let unsignedArrayCount = UInt32(arrayLength) 
     let unsignedRandomNumber = arc4random_uniform(unsignedArrayCount) 
     let randomNumber = Int(unsignedRandomNumber) 


     return randomNumber 
    } 

    // Importing Quotes plist File 
    let businessQuotes = ImportList(FileName: "BusinessList") 

    // Selects Quote 
    let chosenQuote: String = businessQuote.array[randomNumber(businessQuote 
     .count())] as! String 
    let chosenAuthor = businessQuote.dict[chosenQuote]! as String 

    // Assigns Quote & Author to IBOutlet 
    Author = chosenAuthor 
    Quote = chosenQuote 

    quoteDisplay.text = Quote 
    authorDisplay.text = Author.uppercaseString 

}

}

Dies ist der Code mit dem 'Array' ist und 'dict'

import Foundation 

struct ImportList { 
let path: String 

init(FileName: String) { 
    self.path = NSBundle.mainBundle().pathForResource("\(FileName)", ofType: "plist")! 
} 

var dict: Dictionary<String, String> { 
    return NSDictionary(contentsOfFile: path)! as! Dictionary 
} 

var array: Array<AnyObject> { 
    return [String](arrayLiteral: String(dict.keys) { $0 as AnyObject as! String }) 
} 

func count() -> Int { 
    return array.count 
} 
} 

Danke !

+3

Sie sollten den Code mit Ihrer Frage an Stelle von einem Link zu einem Bild – Amous

+0

Es tut mir Leid hinterlassen, ich werde es bearbeiten. –

Antwort

1

Sie haben Variable deklariert businessQuotes als:

// Importing Quotes plist File 
let businessQuotes = ImportList(FileName: "BusinessList") 

Aber mit businessQuote stattdessen sehen Sie "s" am Ende fehlt. Rechtschreibfehler. Folgende Zeilen sein sollte:

// Selects Quote 
let chosenQuote: String = businessQuotes.array[randomNumber(businessQuotes 
    .count())] as! String 
let chosenAuthor = businessQuotes.dict[chosenQuote]! as String 
+0

Vielen Dank. Ich bin so dumm, dass ich das nicht gesehen habe. –

Verwandte Themen