2016-05-31 3 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