Swift-style-guide: рдЪрд░ рдЫрд╛рдпрд╛рдВрдХрди рдХрдард┐рди-рд╕реЗ-рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХреЛ рдЬрдиреНрдо рджреЗ рд╕рдХрддрд╛ рд╣реИред

рдХреЛ рдирд┐рд░реНрдорд┐рдд 15 рджрд┐рд╕ре░ 2014  ┬╖  22рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: raywenderlich/swift-style-guide

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрд▓рд┐рдЦрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЫрд╛рдпрд╛ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдорд╛рд░рд╛ рд╡рд░реНрддрдорд╛рди рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдЧрд▓рдд рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╕рдВрдХрд▓рдХ рдЖрдкрдХреЛ рд╕рд╣реА рдХрд░ рджреЗрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕ рддрд░реНрдХ рдореЗрдВ рдПрдХ рдореМрд▓рд┐рдХ рджреЛрд╖ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рд╣реИ: рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рдХрд╛рдлреА рдХрдард┐рди рдмрдирд╛рддрд╛ рд╣реИред

рдореИрдВ рддреАрди рдкреНрд░рдореБрдЦ рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рджреЗрдЦрддрд╛ рд╣реВрдВ рдЬрд╣рд╛рдВ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдмрд╛рд╣рд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреЛрдб рдкрдврд╝рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ:

  1. рд╕реНрд╡рд┐рдлреНрдЯ рд╢реБрд░реБрдЖрддреА ред рдПрдХ рд╣реА рдирд╛рдо рд╡рд╛рд▓реА рджреЛ рдЪреАрдЬреЛрдВ рдХрд╛ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рднрд┐рдиреНрди рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрдирд╛ рдмрд╣реБрдд рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдпрд╣ рд╣рдо рдореЗрдВ рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдЪ рд╣реИ рдЬреЛ рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рд╕реЗ рдЖрддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдПрдХ рд╣реА рдирд╛рдо рд╕реЗ рджреЛ рдЪреАрдЬреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдПрдХ рд╕рдВрдХрд▓рдХ рдЪреЗрддрд╛рд╡рдиреА рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред
  2. рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ ред рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕реЗ рд╡рд┐рд▓рдп рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдб рдХреЛ рджреЗрдЦрдирд╛ рд╣реЛрддрд╛ рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрддрд░ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ "рд░реБрдХреЛ, рдХреНрдпрд╛ рдпрд╣ рд╡реНрдпрдХреНрддрд┐ рд╡реИрдХрд▓реНрдкрд┐рдХ рдпрд╛ рдЕрд▓рд┐рдЦрд┐рдд рдореВрд▓реНрдп рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ?"
  3. рдкреБрд╕реНрддрдХ рд╕рдВрдкрд╛рджрди ред рдХреНрдпрд╛ рд╣рдо рдЕрдкрдиреЗ рд╕рднреА рдкреБрд╕реНрддрдХ рд╕рдВрдкрд╛рджрдХреЛрдВ рд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рди рдХреЗрд╡рд▓ рдирдореВрдирд╛ рдХреЛрдб рдмрд▓реНрдХрд┐ рдкреБрд╕реНрддрдХ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХреЛрдИ рднреА рдХреЛрдб рд▓реЗрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рд╣реИ?

рдпрд╣ рдЙрджрд╛рд╣рд░рдг рд▓реЗрдВ:

func createNewPerson(name: String?) -> Person {
  let person = Person()
  if let name = name {
    person.name = name
  }
 return person
}

рдЙрд╕ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛, рдореБрдЭреЗ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ name рдЪрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдкрд╛рд╕-рдЗрди рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЗ рдмрдЬрд╛рдп рдЕрд▓рд┐рдЦрд┐рдд рд╣реИ?

рдЗрд╕реА рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдореИрдВ рдЕрдкрдиреЗ рд╕реНрд╡рд┐рдлреНрдЯ рдХреЛрдб рдореЗрдВ рдпрд╣реА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

func createNewPerson(name: String?) -> Person {
  let person = Person()
  if let unwrappedName = name {
    person.name = unwrappedName
  }
 return person
}

рдореЗрд░реЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ unwrapped рдХреЛ рдЕрд▓рд┐рдЦрд┐рдд рдЪрд░ рдирд╛рдо рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдХреЛрдб рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдореЗрдВ рдЙрд╕ рд╕рдЯреАрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдЪреВрдВрдХрд┐ рдпрд╣ рдЪрд░ рдирд╛рдореЛрдВ рдХреЛ рдЗрддрдирд╛ рд▓рдВрдмрд╛ рдмрдирд╛рддрд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ рдЫрд╛рдпрд╛рдВрдХрди рдЪрд░ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдареАрдХ рд╣реИ, рдЕрдм рдЬрдм рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдорд╛рдорд▓рд╛ рдмрдирд╛ рд▓рд┐рдпрд╛ рд╣реИ: рдлрд╛рдЗрдЯ рдлрд╛рдЗрдЯ рдлрд╛рдЗрдЯ рдлрд╛рдЗрдЯ рдлрд╛рдЗрдЯ!

1tpffru

рд╕рднреА 22 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореЗрд░реЗ рд▓рд┐рдП, рдХреЛрдб рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рджреМрд░рд╛рди ! рджреЗрдЦрдирд╛ рд▓рд╛рд▓ рдЭрдВрдбрд╛ рд╣реИред рддрднреА рдореИрдВ рдкреВрдЫрдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ "рд╣рдордиреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕ рдЪреАрдЬрд╝ рдХреЛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрд╛рдВрдзрд╛?"

рдореБрдЭреЗ рдХрд┐рддрд╛рдмреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд╕рд░реНрдЧ рдХреЗ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ "рдЕрдирдХреИрдкреНрдб" рд╣реЛрдиреЗ рдХреА рдЪрд┐рдВрддрд╛ рд╣реИ, рд▓рд╛рдЗрди рд░реИрдкрд┐рдВрдЧ рдХреЛ рдХрдо рд╕реЗ рдХрдо рд░рдЦрдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдкрдардиреАрдпрддрд╛ рдЖрдИрдПрдордУ рдЬрд╛рддреА рд╣реИ, рдХрд┐рддрд╛рдмреЛрдВ рдореЗрдВ рдХреЛрдб рдХреА рд▓рд╛рдЗрди рд░реИрдкрд┐рдВрдЧ рдпрдХреАрдирди рдмрджрддрд░ рд╣реИред рдмреЗрд╢рдХ рдпрд╣ рдЙрджрд╛рд╣рд░рдг рд▓рд╛рдЗрди рд░реИрдкрд┐рдВрдЧ рд╕реЗ рдЧреНрд░рд╕реНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХреЛрдХреЛ рдПрдкреАрдЖрдИ рдХреЙрд▓ рдореЗрдВ рдлреЗрдВрдХ рджреЗрдЧрд╛ рдФрд░ рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реЛрдЧреАред

рдЫрд╛рдпрд╛рдВрдХрди рдкрд░ рдореЗрд░рд╛ рд░реБрдЦ рд╢рд╛рдпрдж рдорд╛рдорд▓реЗ рдФрд░ рджрд┐рди-рдм-рджрд┐рди рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдЧрд╛:]

рдЙрд╕ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдмрд┐рдирд╛, рдореБрдЭреЗ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдирд╛рдо рдЪрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдкрд╛рд╕-рдЗрди рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЗ рдмрдЬрд╛рдп рдЕрд▓рд┐рдЦрд┐рдд рд╣реИ?

рдХреНрдпреЛрдВрдХрд┐ рд╕реНрд╡рд┐рдлреНрдЯ рдЗрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдпрджрд┐ рдЖрдк if let рдХреЗ рджрд╛рдпрд░реЗ рдореЗрдВ рд╣реИрдВ, рддреЛ рдпрд╣ рдЕрд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдХреЛрдИ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдирд╣реАрдВ рд╣реИред

@ рд╣реЛрд▓реЗрдВрд╕ : рд╕реНрд╡рд┐рдлреНрдЯ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╕рдВрдХрд▓рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдХреЛрдИ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕реЗ рдХрдо рдЕрдЪреНрдЫреА рддрд░рд╣ рдЬрд╛рдирддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдореБрдЭреЗ) рдФрд░ рдХреЛрдб рдХреЛ рдмрд┐рдирд╛ рдЬрд╛рдВрдЪреЗ рдФрд░ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдкрдврд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЪрд░ рдЫрд╛рдпрд╛рдВрдХрди рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдХрд╛рдлреА рдХрдо рд╕реНрдкрд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред

@cwagdev рд╢рд╛рдпрдж рдЕрд▓рд┐рдЦрд┐рдд рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ u рдХреЗ рд╕рд╛рде рдЙрдкрд╕рд░реНрдЧ рдХрд░реЗрдВ? рдХрд╛рдо рдкрд░ рд╣рдорд╛рд░реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдХреЛрдб рдорд╛рдирдХреЛрдВ рдХреЛ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ a рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рд╕реА рднреА рдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯрддрд╛ рдФрд░ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд▓рдВрдмрд╛рдИ рдХреЗ рдмреАрдЪ рдПрдХ рдмрд╣реБрдд рд╣реА рдареЛрд╕ рд╕рдордЭреМрддрд╛ рд░рд╣рд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╕рд┐рдореЗрдВрдЯрд┐рдХ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдХрд╛рдо рдЖрддрд╛ рд╣реИред ;-)

рд╡реИрд╕реЗ, рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ if var рднреА рдЕрдирд░реИрдкрд┐рдВрдЧ рдХрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?

  if var name = name {
    name += ", Esq."
    person.name = name
  }

@ рд╣реЛрд▓реЗрдВрд╕ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдЖрдк рдЬрд┐рд╕ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЛ рдЦреЛрд▓ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдПрдХ рд╕реНрдерд╛рдиреАрдп рд╕рдВрдкрддреНрддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдПрдХ рдкрд╛рд░рд┐рдд рддрд░реНрдХ рд╣реИ рддреЛ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЬрд╣рд╛рдВ рддрдХ if var : https://www.youtube.com/watch?v=Cd7tEsAuspA - рдзрдиреНрдпрд╡рд╛рдж!

рд╕рд┐рдореЗрдВрдЯрд┐рдХ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдмрдирд╛рдо рд░реЗрдЧреБрд▓рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рдЕрдкрдирд╛ рд░рдВрдЧ рджреЗрддрд╛ рд╣реИред рддреЛ рдЖрдк рдПрдХ рдирдЬрд╝рд░ рдореЗрдВ рджреЗрдЦ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдЕрд▓рд┐рдЦрд┐рдд name рдкреИрд░рд╛рдореАрдЯрд░ name рд╕реЗ рдЕрд▓рдЧ рд╣реИред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреНрд╕рдХреЛрдб рдкреНрд▓рдЧ-рдЗрди рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рд╕реНрд╡рд┐рдлреНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред https://github.com/kolinkrewinkel/Polychromatic

рдореИрдВ рдХрд┐рд╕реА рднреА рдирдП рдЪрд░ рдпрд╛ рдирд┐рд░рдВрддрд░ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рдХрдбрд╝рд╛ рд╡рд┐рд░реЛрдз рдХрд░рддрд╛ рд╣реВрдВред рд╣рдВрдЧреЗрд░рд┐рдпрди рдиреЛрдЯреЗрд╢рди рд▓рдЧрднрдЧ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕реЗ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ!

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╣рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдФрд░ рд╕рдВрджрд░реНрдн рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдХреЗрдд рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рддрд░реНрдХ рдорд┐рд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрдХрд▓рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдирд┐рдпрдо рдХреЛ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рдХреЛрдб рдЕрдХреНрд╕рд░ рд╕рдВрдХрд▓рд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмрд╛рд╣рд░ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЪрд╛рд╣реЗ рд╡рд╣ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд╣реЛ рдпрд╛ рдХрд┐рддрд╛рдмреЛрдВ рдореЗрдВред рдпрджрд┐ рдЖрдк рдЧрд▓рдд рдЧреИрд░-рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрдирд╛рдо рд╡реИрдХрд▓реНрдкрд┐рдХ var рдпрд╛ let рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдХрд▓рдХ рдмрд╛рд░рдлрд┐рдВрдЧ рдХреА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рдмрд┐рдирд╛ _рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдХрдо рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рддреА рд╣реИред

@ColinEberhardt рдФрд░ @hollance : рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдЕрдиреНрдп рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд╣рдо рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рдПрдХ рдЪрд░ рдЙрдкрд╕рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╕рдВрджрд░реНрдн рдХреИрд╕реЗ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╛ рд╣рдореЗрдВ рдмрд╕ рдЗрддрдирд╛ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП, "рдЗрд╕реЗ рдкреЗрдВрдЪ рдХрд░реЛ, рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдЦреЗрд▓ рдХреЗ рдореИрджрд╛рди рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░реЗрдВред"?

рдПрдХ рд╣реА рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП +1ред рдЖрдо рддреМрд░ рдкрд░ рдореИрдВ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЫрд╛рдпрд╛рдВрдХрди рдХрд╛ рд╡рд┐рд░реЛрдз рдХрд░рддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдпрд╣ рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд░рдЪрдирд╛рддреНрдордХ рдирд╛рдореЛрдВ рдпрд╛ рдЙрдкрд╕рд░реНрдЧреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЫрд╛рдпрд╛рдВрдХрд┐рдд рдЪрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╣реА рдЪрд░ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдмрд╕ рдЗрд╕рдХрд╛ рдЕрд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪрд░ рдХреЛ рдЫрд╛рдпрд╛рдВрдХрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╕реНрд╡рдпрдВ рдХреЛ рдЫрд╛рдпрд╛рдВрдХрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ @jawwad рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдкрд╕рдВрдж рд╣реИ рдХрд┐ рдЫрд╛рдпрд╛рдВрдХрди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдЦреБрдж рдХреЛ рдЫрд╛рдпрд╛рдВрдХрди" рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрд╕реА рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рдЖрдк рджреВрд╕рд░реЗ рдкрдХреНрд╖ рд╕реЗ рднреА рдмрд╣рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ foo рдФрд░ unwrappedFoo рдерд╛ рдФрд░ рдлрд┐рд░ рдЖрдкрдиреЗ unwrappedFoo рдкрд░ рдХреБрдЫ рд╡рд┐рдзрд┐ рдХрд╣рд╛, рддреЛ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд▓реЛрдЧ рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпреЗ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪреАрдЬреЗрдВ рд╣реИрдВред рдФрд░ рдЙрд╕ foo рдХреЛ рдЫреБрдЖ рдирд╣реАрдВ рдЧрдпрд╛ рдерд╛ред рд╡реЗ рдЗрд╕реЗ рдЕрдВрддрддрдГ рддрдм рд╕рдордЭреЗрдВрдЧреЗ рдЬрдм рд╡реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЛ рд╕рдордЭреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЫрд╛рдпрд╛рдВрдХрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рднреА рдпрд╣реА рд╕реНрдерд┐рддрд┐ рд╣реИред

рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ, рд╣рдореЗрдВ рдЕрдВрддрддрдГ "рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ" рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдФрд░ рдпрджрд┐ рдРрд╕рд╛ рд╣реИ - рддреЛ рдореИрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЛ рд╕рдордЭрдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЪрд░реНрдЪрд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ! рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо ivars рдмрдирд╛рдо properties рдкрд░ рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рд╕реНрдЯрд╛рдЗрд▓ рдЧрд╛рдЗрдб рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдкреЛрд╕реНрдЯ рдХрд╛рдЙрдВрдЯ рдХреЛ рд╣рд░рд╛ рд╕рдХреЗрдВ!

рд╕реНрд╡рдпрдВ рднрдЧрд╡рд╛рди рдХреА рдУрд░ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рддреВрдлрд╛рди, https://devforums.apple.com/message/1127586#1127586

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреЛрд╕реНрдЯ рдФрд░ рдЕрдзрд┐рдХ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЫрд╛рдпрд╛рдВрдХрди рдХреЛ рдЪреЗрддрд╛рд╡рдиреА рдлреЗрдВрдХрдиреА рдЪрд╛рд╣рд┐рдП - рд▓реЗрдЯреЗрдирд░ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдирд╣реАрдВ рдФрд░ рдЗрд╕ рдкрд░ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕реНрдЯрд╛рдЗрд▓рд┐рд╕реНрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЫрд╛рдпрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВред

рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рдпрд╣ рдЖрдЧ рд╢реБрд░реВ рдХреА рд╣реИ, рдореБрдЭреЗ рдПрдХ рдЕрдкрдбреЗрдЯ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ: рдореИрдВ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкрд░ рд╕реНрд╡рд┐рдлреНрдЯ рдореЗрдВ рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдореБрдЭреЗ рдЕрднреА рднреА рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЫрд╛рдпрд╛ рдХреЗ рдмрд┐рдирд╛ рдХреЛрдб рдкрдврд╝рдиреЗ рдореЗрдВ рдХрд╛рдлреА рдХрдард┐рди рд╕рдордп рд╣реИред

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХреНрдпрд╛ рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИ рдпрд╣ рдкреБрд░рд╛рдирд╛ рд╢рд╛рд╣рдмрд▓реВрдд рд╣реИ:

Programs must be written for people to read, 
and only incidentally for machines to execute.

рд╣рд╛рдВ, рдЬрдм рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдб рд▓рд┐рдЦ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рд╕рдВрдХрд▓рдХ рдЖрдкрдХреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдЖрдк рдХрдм рдЦрд░рд╛рдм рд╣реЛ рд░рд╣реЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдЫрд╛рдпрд╛рдВрдХрди рдХреЗ рд╕рд╛рде рджреВрд╕рд░реЛрдВ рдХреЗ (рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдореЗрд░рд╛ рдЕрдкрдирд╛) рдХреЛрдб рдкрдврд╝рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдХрдард┐рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдореИрдВ рдЫрд╛рдпрд╛рдВрдХрд┐рдд рдХреЛрдб рдкрдврд╝ рд░рд╣рд╛ рд╣реЛрддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдмрд╣реБрдд рдХрдард┐рди рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЕрд▓рд┐рдЦрд┐рдд рдореВрд▓реНрдп рдмрдирд╛рдо рд▓рд┐рдкрдЯреЗ рд╣реБрдП рдореВрд▓реНрдп рддрдХ рдкрд╣реБрдВрдЪ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдирдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрдХреЛрдкрд┐рдВрдЧ рдХреЛ рд╕рдордЭрдиреЗ рдореЗрдВ рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рдиреА рд╣реЛрддреА рд╣реИ (рдЬреЛ рдореИрдВрдиреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рддрдм рдХрд┐рдпрд╛ рдерд╛ рдЬрдм рдореИрдВ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рдерд╛), рдФрд░ рдореИрдВ рдХреЗрд╡рд▓ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╡реИрд░рд┐рдПрдмрд▓ рд╢реИрдбреЛрдЗрдВрдЧ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╣рдЬрд╛рд░ рдЧреБрдирд╛ рдмрджрддрд░ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреИрд╕реЗ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореВрд▓ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЪрд░ рдХреЗ рдмрдЬрд╛рдп рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рджрд╛рдпрд░реЗ рдореЗрдВ рдПрдХ рдЕрд▓рд┐рдЦрд┐рдд рд╕реНрдерд┐рд░рд╛рдВрдХ рддрдХ рдкрд╣реБрдВрдЪ рд░рд╣реЗ рд╣реИрдВ?

рдЬрд┐рд╕ рдЪреАрдЬрд╝ рдХреЛ рдЖрдк рдЦреЛрд▓ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЬреЛ рдЪреАрдЬрд╝ рдЕрд▓рд┐рдЦрд┐рдд рд╣реИ, рдЬреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрдврд╝реА рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдХреЗ рдмреАрдЪ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЪрд┐рддреНрд░рдг рд╣реЛрдиреЗ рд╕реЗ рдиреЛрдмреНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрддрд╛рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рд╡реЗ рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕ рддрдХ рдкрд╣реБрдБрдЪ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред

рдФрд░ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрдирдХрд░ @ColinEberhardt рдХреЛ рдмрд╣реБрдд рджреБрдЦ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХреЛрдб рдкрд░ u рдЙрдкрд╕рд░реНрдЧ рдХреЛ рдЕрдкрдирд╛рдпрд╛ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдлреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд▓рд╛рдПрдЯрдирд░ рдпрд╣рд╛рдВ рдХрд┐рд╕реА рддрд░рд╣ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ... рд╡рд╣ рд╕рд┐рд░реНрдл рдЗрддрдирд╛ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдИ рдЪреЗрддрд╛рд╡рдиреА рдирд╣реАрдВ рд╣реЛрдЧреАред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХрд╣ рд░рд╣рд╛ рд╣реИ "рдЕрдЧрд░ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рдХрд░реЗрдВ" ...:]

рд╕рд╣рдордд, рдореИрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╡реНрдпрдВрдЧреНрдпрд╛рддреНрдордХ рдерд╛ рдФрд░ рдзрд╛рдЧреЗ рдиреЗ рдореБрдЭреЗ рдЗрд╕рдХреА рдпрд╛рдж рджрд┐рд▓рд╛ рджреА: рдореБрд╕реНрдХрд╛рди:

рдореИрдВ рдЕрднреА рднреА рдЫрд╛рдпрд╛ рд╢рд┐рд╡рд┐рд░ рдореЗрдВ рд╣реВрдВ рд▓реЗрдХрд┐рди @designatednerd рдХреА рдмрд╛рдд рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВред

@designatednerd рд╢реИрдбреЛрдЗрдВрдЧ рд╕рд┐рд░реНрдл рдирдЯрдЦрдЯ рд╣реИред рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рддрдереНрдп рд╣реИ рдХрд┐ if let рд╕реНрдХреЛрдк рдХреЗ рдЕрдВрджрд░, рдЖрдк рдЕрд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЦреЛрд▓рдирд╛ рдЗрддрдирд╛ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдХрд┐ рд╕реНрд╡рд┐рдлреНрдЯ рдХреЗ рд╕рд╛рде рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рд▓рд╛рдпрдХ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИред

@annehiro рдореИрдВ рдЗрд╕ рдЖрдХрд▓рди рд╕реЗ рдЕрд╕рд╣рдордд рд╣реВрдВ "рд╕реНрд╡рд┐рдлреНрдЯ рдХреЗ рд╕рд╛рде рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рд▓рд╛рдпрдХ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рдЬрд╛рдирддрд╛ рд╣реИред" рд╕реНрд╡рд┐рдлреНрдЯ _рдФрд░_ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрдиреБрднрд╡ рд╡рд╛рд▓реЗ рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреЗ рдЕрдиреБрднрд╡ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕реНрдХреЛрдкрд┐рдВрдЧ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рдКрдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдореБрдЭреЗ рдХреНрдпреЛрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди n00bs рдХреЗ рд▓рд┐рдП рдХрдард┐рди рдмрдирд╛ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭрдиреЗ рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдБрдХрд┐, @gregheo , рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдореБрджреНрджрд╛ рдЕрдм рдЦреБрд▓рд╛ рдЫреЛрдбрд╝рдиреЗ рд▓рд╛рдпрдХ рд╣реИред рдЬрдмрдХрд┐ рдореБрдЭреЗ рдЕрднреА рднреА рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рд╢реАрд░реНрд╖рдХ рдХрд╣рддрд╛ рд╣реИ (рдФрд░ рдЕрднреА рднреА рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдЧреИрд░-рдЫрд╛рдпрд╛рдВрдХрд┐рдд рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ), рд╕рд╛рдЗрдЯ рд╕реНрддрд░ рдкрд░ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╕рд╛рдЗрдЯ рдФрд░ рдкреБрд╕реНрддрдХреЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рдЧрд▓ рд░рд╛рд╢рд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдХреЛрдб рдорд╛рдирдХреЛрдВ рдХреЗ рдЗрд╕ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рдХрд╛рд░реНрдпрд╕реНрдерд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЕрднреА рднреА рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрд╡рд┐рдлреНрдЯ рдХреЛрдб рдорд╛рдирдХреЛрдВ (рдореЗрд░реЗ рд╕рд╣рд┐рдд) рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдВрддрддрдГ, рдпреЗ рд╣рдорд╛рд░реА рд╕рд╛рдЗрдЯ рдФрд░ рдкреБрд╕реНрддрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИрдВред рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдШреЛрдбрд╝реЗ рдиреЗ рдЦрд▓рд┐рд╣рд╛рди рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЖрдзреЗ рджреЗрд╢ рдореЗрдВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдФрд░ рдХрд┐рддрд╛рдмреЗрдВ рдмрджрд▓рддреЗ рд╣реБрдП рджреМрдбрд╝ рд░рд╣рд╛ рд╣реИред :рдШреБрдбрд╝рджреМрдбрд╝:

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ рдореИрдВрдиреЗ рд╕реНрд╡рд┐рдлреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рдлреА рдХреБрдЫ рд▓рд┐рдЦрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдореИрдВ 90% рд╕рдордп рдЫрд╛рдпрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдЫрд╛рдпрд╛рдВрдХрди рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реВрдВ рдЬрдм рдЪрд░ рдЕрддреНрдпрдВрдд рд╡рд░реНрдмреЛрдЬрд╝ рд╣реЛрддрд╛ рд╣реИред

рдпрд╣ рдХрдард┐рди рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рддрд░реНрдХ рдХреЗ рджреЛрдиреЛрдВ рдкрдХреНрд╖реЛрдВ рдореЗрдВ рдЕрдЪреНрдЫреЗ рдмрд┐рдВрджреБ рд╣реИрдВред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ "рдЫрд╛рдпрд╛" рд╢рдмреНрдж рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реЗ рдЧреИрд░-рд╡реИрдХрд▓реНрдкрд┐рдХ рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИред рдореБрдЭреЗ рдХреЛрдб рдкрдврд╝рдиреЗ рдореЗрдВ рдХрднреА рдкрд░реЗрд╢рд╛рдиреА рдирд╣реАрдВ рд╣реБрдИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрддрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдХреЙрд▓ рд╕рд╛рдЗрдЯ рдкрд░ рдХреБрдЫ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ рдпрд╛ рдЧреИрд░-рд╡реИрдХрд▓реНрдкрд┐рдХред рдЗрд╕реЗ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЛрдЪрдирд╛ рднреА рдкреВрд░реНрд╡ рд╢рд░реНрдд рдХреЛ рдЬрд▓реНрджреА рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП guard рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рджрд┐рди рд╣рдореЗрдВ рд╡рд╛рдХреНрдпрд╛рддреНрдордХ рдЪреАрдиреА рдорд┐рд▓реЗрдЧреА рдЬреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:

func compute(a: Int?, b: Int?) -> {
   unwrap a, b else { return }
   // compute with a and b Ints
}

Unwrap рдкреМрд░рд╛рдгрд┐рдХ Result рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдХрдИ рдмрд╛рд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣реА рдирд╛рдо рдХрд╛ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд┐рдПрд╕реНрдЯрд╛ рдврд╛рдВрдЪреЗ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИ (рдЬрд┐рд╕реЗ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рд╛рди рдХреЛрдб рдореЙрдбреНрдпреВрд▓реЛ рдЗрд╕рдХреА рдЕрдЬреАрдм рд╕рдлреЗрдж рдЬрдЧрд╣ рдорд╛рдирддрд╛ рд╣реВрдВ):

guard let cache = config.persistentCache else { return }

рджреВрд╕рд░реА рдмрд╛рд░ рдпрд╣ рд╕рд┐рд░реНрдл рдЫрд╛рдпрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @cwagdev рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдореИрдВрдиреЗ рдЬрд┐рди рдХреБрдЫ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЬрд╛рдБрдЪ рдХреА, рдЙрдирдореЗрдВ рдЕрд▓реНрдореЛрдлрд╝рд╛рдпрд░ рдФрд░ рдРрдкреНрдкрд▓ рдХреЗ рдлрд╛рдЙрдВрдбреЗрд╢рди рдХреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд╣рд┐рдд рд╢реИрдбреЛрдЗрдВрдЧ рдФрд░ рдиреЙрди-рд╢реИрдбреЛрдЗрдВрдЧ рдХрд╛ рдорд┐рд╢реНрд░рдг рдерд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдиреЗ рд╣рдВрдЧреЗрд░рд┐рдпрди рд╕рдВрдХреЗрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ред

рдЗрди рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдФрд░ рдЕрдкрдиреА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЖрдВрдд рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореИрдВ рдпрд╣ рд╢рд╛рд╕рди рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЫрд╛рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдорд╛рдирдХ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдЫрд╛рдпрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдкрд░рд┐рджреГрд╢реНрдп рдмрджрд▓рддрд╛ рд╣реИ рддреЛ рд╣рдо рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

@rayfix рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реВрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

рдореИрдВ рд╢рд╛рд╕рди рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрднреА рдХреЗ рд▓рд┐рдП рдЫрд╛рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рдорд╛рдирдХ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рди рд╣реА рдЫрд╛рдпрд╛ рдХреЗ рд▓рд┐рдПред

рджрд░рдЕрд╕рд▓, рд╕реНрдЯрд╛рдЗрд▓ рдЧрд╛рдЗрдб рдХрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдкрд░ рдлреИрд╕рд▓рд╛ рд╣реИ:

рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдЕрд▓рд┐рдЦрд┐рдд рджреГрд╢реНрдп рдпрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реЗрдмрд▓ рдЬреИрд╕реЗ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреБрдХреНрдд рд╣реЛрдиреЗ рдкрд░ рдореВрд▓ рдирд╛рдо рдХреЛ рдЫрд╛рдпрд╛рдВрдХрд┐рдд рдХрд░реЗрдВред

рдЬрдм рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреЛрд▓рд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рд╣рдорд╛рд░реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб рдпрд╛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдирд╣реАрдВ рдереЗ рдЬреЛ "рдЫрд╛рдпрд╛" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗред

рдЕрдм, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдЕрд▓рдЧ рдХрд╣рд╛рдиреА рд╣реИ:

  • рд╣рдордиреЗ рдЗрд╕реЗ рдХрдИ рд▓рд┐рдЦрд┐рдд рдФрд░ рд╡реАрдбрд┐рдпреЛ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИред
  • рд╣рдордиреЗ рдЗрд╕реЗ RWDevCon 2015 рдФрд░ 2016 рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдФрд░ рд╕рдордЭрд╛рдпрд╛ред
  • рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рд╣рдордиреЗ рдореВрд▓ рдирд╛рдо рдХреЛ "рдЫрд╛рдпрд╛" рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рд╣реИред

рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИрдВ... рдирд┐рдЬреА рддреМрд░ рдкрд░, рдореИрдВ рднреА рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░рдиреЗ рд▓рдЧрд╛ рд╣реВрдВ...

рдареАрдХ рдХреА рддрд░рд╣, рдпрд╣ рдЖрдк рдкрд░ рдмрдврд╝рддрд╛ рд╣реИ? рдореИрдВ

рдореЗрд░реЗ рд▓рд┐рдП рд╡рд╣ рдХрд╣рддрд╛ рд╣реИ, "рд╣рдВрдЧреЗрд░рд┐рдпрди рдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ" рдЬреЛ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреЛрд░реНрдб рдкрд░ рд╣реВрдВред "рдЬрдм рдЙрдкрдпреБрдХреНрдд рд╣реЛ" рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЭрд╛рд▓рд░рджрд╛рд░ рдЬрдЧрд╣ рджреЗрддрд╛ рд╣реИ:

guard let json = content as? NSDictionary else { throw InvalidJSON }

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдореИрдВрдиреЗ u рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдмрд╕ рд╡рд┐рднрд┐рдиреНрди рдЪрд░ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдШрд╛рдпрд▓ рд╣реЛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣ рд▓рдбрд╝рд╛рдИ рд╣рд╛рд░ рдЧрдпрд╛ рд╣реВрдВред :рдореБрд╕реНрдХреБрд░рд╛рдУ:

@designatednerd рдХрд┐рд╕реА рдирдП рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рддреЗрдЬреА рд╕реЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╕рд╣реА рдереЗред рдпрд╣ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рдерд╛ рдХрд┐ рд╕реНрдХреЛрдкрд┐рдВрдЧ рдиреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

rayfix picture rayfix  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

fabienwarniez picture fabienwarniez  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Lweek picture Lweek  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

sima-11 picture sima-11  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

samkim102 picture samkim102  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ