Xcode 5 рдореЗрдВ рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рд▓рд┐рдП рддреНрд╡рд░рд┐рдд рд╕рд╣рд╛рдпрддрд╛

рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рд▓реЗрдирд╛ рд╕реАрдЦрд╛ рддреНрд╡рд░рд┐рдд рдорджрдж:



рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдРрдкрд▓реНрдбреЛрдХ (рдпрд╛ рдПрдирд╛рд▓реЙрдЧ) рд╕реНрдерд╛рдкрд┐рдд .docset , рд╕рдВрдХрд▓рди рдФрд░ рд╕реНрдерд╛рдкрд┐рдд .docset ред .docset ; рдЕрдм рдмрд╕ рдПрдХ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреНрд░реА рдХрдореЗрдВрдЯ рд▓рд┐рдЦрд┐рдП рдФрд░ рдХреНрд╡рд┐рдХ рд╣реЗрд▓реНрдк рдЙрд╕реЗ рддреБрд░рдВрдд рджреЗрдЦреЗрдЧрд╛ред
рд╕рдорд░реНрдерд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдкрд░ рдЕрднреА рддрдХ рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ), рд▓реЗрдХрд┐рди рдХреБрдЫ рд╣реИрдбрд░рдбреЛрдХ рдФрд░ рдбреЙрдХреНрд╕рд┐рдЬрд╝рди рдХреЗ рдмреАрдЪ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

1)

рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдСрдЯреЛ-рдкреВрд░реНрддрд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреНрд╡рд░рд┐рдд рд╕рд╣рд╛рдпрддрд╛ рдореЗрдВ рд╕рднреА рдХреЛ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ:
 /** Brief description. Brief description continued. Details follow here. */ - (BOOL)doSomethingWithArgument:(NSString *)argument; 




2)

рдмреЗрд╢рдХ, рдорд╛рдирдХ рдЯреИрдЧ @param , @return рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ, рд╕рд╛рде рд╣реА рдХреБрдЫ рдЕрдиреНрдп, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, @note , @warning , @see , @code :
 /** Brief description. Brief description continued. Details follow here. @note I am a note! @warning Not thread safe! @param argument Some string. @return YES if operation succeeded, otherwise NO. */ - (BOOL)doSomethingWithArgument:(NSString *)argument; 



3)

рдЖрдк рди рдХреЗрд╡рд▓ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдкреВрд░реЗ рд╡рд░реНрдЧ рдХреЛ рдПрдХ рд╕рдВрдкреВрд░реНрдг:
 /** Example class to show the new cool XCode 5 feature. Usage example: @code QHExample *example = [QHExample new]; BOOL result = [example doSomethingWithArgument:@"test"]; @endcode */ @interface QHExample : NSObject 



4)

рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХреЗ рдЧреБрдг:
 /// Description for exampleProperty. @property (nonatomic) int exampleProperty; 



5)

рдкрджрд╛рд╡рдирдд рд╡рд┐рдзрд┐рдпрд╛рдБ рд╕реНрд╡рддрдГ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ:
 /** This method is deprecated! @see '-anotherMethod' */ - (void)someMethod __attribute__((deprecated("use '-anotherMethod' instead."))); 



6)

рдХрд╛рд░реНрдп рднреА рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ:
 /** A function that always returns 42. @param fArg Some float argument. @return 42. */ int function_42(float fArg); 


рд▓реЗрдХрд┐рди рдореИрдХреНрд░реЛрдВ, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдирд╣реАрдВ рд╣реИрдВред

7)

рд╡рд╣рд╛рдБ рд╕рдорд░реНрдерди рд╣реИ:
 /** ROUChunkType description. */ enum ROUChunkType { /// Data chunk. ROUChunkTypeData = 0, /// Acknowledgement chunk. ROUCHunkTypeAck = 1 }; 

рд▓реЗрдХрд┐рди рдЕрдиреБрд╢рдВрд╕рд┐рдд NS_ENUM рдФрд░ NS_OPTIONS рдХрд╛ рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред
рдпрд╛рдиреА рдпрджрд┐ рдЖрдк рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
 /** ROUChunkType description. */ typedef NS_ENUM(uint8_t, ROUChunkType){ /// Data chunk. ROUChunkTypeData = 0, /// Acknowledgement chunk. ROUCHunkTypeAck = 1 }; 

рдлрд┐рд░ рддреНрд╡рд░рд┐рдд рд╕рд╣рд╛рдпрддрд╛ рдФрд░ рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рдореЗрдВ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╡рд░реНрдгрди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди ROUChunkType рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП - рдирд╣реАрдВред


8)

рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП, рд╕реНрдерд┐рддрд┐ рдмреЗрд╣рддрд░ рд╣реИ: рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП, рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рддреНрд╡рд░рд┐рдд рд╕рд╣рд╛рдпрддрд╛ рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рд╣реИред
 /** Chunk header description. */ typedef struct { /// Chunk type. enum ROUChunkType type; /// Chunk length. uint16_t length; } ROUChunkHeader; 


9)

рд▓реЗрдХрд┐рди рдмреНрд▓реЙрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
 /** A block with one argument returning BOOL. @param arg Block's argument. @return YES. */ typedef BOOL (^QHBlock)(id arg); 



10)

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рди рдХреЗрд╡рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ, рдмрд▓реНрдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рднреА рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЪрд░ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
 - (double)perimeter{ /// The number ╧А, the ratio of a circle's circumference to its diameter. double pi = M_PI; return 2 * pi * self.r; } 



рдирд┐рд╖реНрдХрд░реНрд╖

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬреА рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рдФрд░ рдХрд╛рд░рдг рдмрди рдЧрдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:
 /** <#Brief#> <#Description#> @param <#Name#> <#Info#> @param <#Name#> <#Info#> @return <#Returns#> */ 

рдФрд░ рдЗрд╕реЗ docmethod docmethod рдкрд░ рд▓рдЯрдХрд╛рдПрдВ:

рдлрд┐рд░, docmethod рдЯрд╛рдЗрдк рдХрд░рддреЗ docmethod рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреБрдХреНрдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрдЧрд╛ред

Source: https://habr.com/ru/post/In192310/


All Articles