2016-04-26 4 views
0

Я работаю над этим предложением цитаты, и я продолжаю сталкиваться с двумя ошибками, которые просто не хотят сотрудничать со мной. Он говорит: «Тип« businessQuote »не имеет члена (« массив »/« dict »)». На следующем снимке экрана вы увидите ошибку на линии. Все дело в том, чтобы заставить приложение показать случайную цитату в текстовых полях. Не могли бы вы мне помочь? Заранее спасибо.Тип '___' не имеет '' '' '' '' '' member ''

Code with the error

Моя цель состоит в том, чтобы получить «ImportList» работать

'ImportList' Swift file

Если есть другой вопрос, как это, что я упускать из виду, я был бы признателен, если бы вы связать меня Это. Но мне действительно нужен ответ. Еще раз спасибо.

Вот код с ошибкой:

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 

}

}

Это код с 'массив' и 'Словаре'

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 
} 
} 

Спасибо !

+3

Вы должны размещать код с вашим вопросом, а не ссылка на картинку – Amous

+0

извини, я его редактировать. –

ответ

1

Вы объявили переменную businessQuotes как:

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

Но использование businessQuote вместо этого, видеть вас не хватает "s" в конце. Орфографическая ошибка. Эти линии должны быть:

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

Большое вам спасибо. Я так глуп, что не вижу этого. –

Смежные вопросы