2016-05-31 18 views
0

我有一个简单的viewcontroller,它显示两个标签,一个带有引号,另一个带有作者。引号和作者放在一个NSObject(见代码)中,并且显示的引用/作者是随机的。我的问题是如何在特定标签中显示报价和作者。在标签中显示NSObject init

class Quotes: NSObject { 
     var person : String 
     var quote : String 

     init(person : String, quote : String) { 
      self.person = person 
      self.quote = quote 
     } 
    } 

    let quotes = [ 

     Quotes(person: "Person1", quote: "Quote1"), 
     Quotes(person: "Person2", quote: "Quote2"), 
     Quotes(person: "Person3", quote: "Quote3"), ] 


    override func viewDidLoad() { 
    super.viewDidLoad() 

     let range: UInt32 = UInt32(quotes.count) 
    let randomNumber = Int(arc4random_uniform(range)) 
    let QuoteString = quotes.person.objectAtIndex(randomNumber) //ERROR here, how do I specify the choosen author from the randomization? 
    let AuthorString = quotes.quote.objectAtIndex(randomNumber)//ERROR here, how do I specify the choosen quote from the randomization? 


    self.quoteLabel.text = QuoteString as? String 
    self.personLabel.text = NameString as? String 

} 

我想这是一个非常简单的解决方案,会很感激的帮助(我是新来的节目)

回答

1

你有你的阵列&访问属性略有混淆。首先,访问阵列中的Quote对象,然后访问对象的属性

let randomNumber = Int(arc4random_uniform(self.quotes.count)) 
let quote = self.quotes[randomNumber] 
let quoteString = quote.quote 
let authorString = quote.author 

self.quoteLabel.text = quoteString 
self.personLabel.text = authorString 
+0

谢谢!有一个错误,说没有找到“self.quotes”。但它可以与UInt32随机化一起正常工作,非常感谢您的快速帮助! :) – Mate