2015-08-20 7 views
-3

Я изучал класс UIViewController и пытался понять его код, а именно get, упомянутый в классе. Я искал в google «Что означает {} означает в swift» и нашел следующие ресурсы: Swift what are 'get' and 'set'? и https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Properties.html, в разделе «Свойства компьютера». Тем не менее, get, который упоминается здесь не то, что я искал, то есть, оба этих get с, которые упоминаются в этих двух звеньев в следующем виде:В чем разница между `get {}` и `{get}` в Swift?

var center: Point { 
     get { 
      let centerX = origin.x + (size.width/2) 
      let centerY = origin.y + (size.height/2) 
      return Point(x: centerX, y: centerY) 
     } 

Обратите внимание на get {} здесь. Однако get, что я запутался с заключается в следующем:

extension UIViewController { 
    // These objects may be used as layout items in the NSLayoutConstraint API 
    @available(iOS 7.0, *) 
    var topLayoutGuide: UILayoutSupport { get } 
    @available(iOS 7.0, *) 
    var bottomLayoutGuide: UILayoutSupport { get } 
} 

Обратите внимание на { get } здесь.

Может ли кто-нибудь разъяснить, какое различие между get {} и { get }? Большое вам спасибо за ваше время и усилия, чтобы ответить на этот вопрос заранее!

+7

Вы не тратите много времени на документацию, не так ли? – vikingosegundo

+1

Ну, после того, как в документации появится следующий шаг: попробуйте. и, если вы не разобрались в этом, спросите. С предоставлением всех выводов, которые вы получили в пути. – vikingosegundo

ответ

1

? означает, что переменная может быть нулевой или «необязательной» в Swift-talk.

{ get } означает, что недвижимость читается только. Его нельзя изменить.

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