рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛

рдХреЛрдб рдореЗрдВ рдЬрд╛рджреВ рд╕реНрдерд┐рд░рд╛рдВрдХ рдмреБрд░рд╛рдИ рд╣реИрдВред рдХреЛрдб рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдерд┐рд░рд╛рдВрдХ рдФрд░ рднреА рдЕрдзрд┐рдХ рджреБрд╖реНрдЯ рд╣реИрдВред
рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЙрдирд╕реЗ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдорд┐рд▓ рд╕рдХрддреЗ, рд╡реЗ рд╣рд░ рдЬрдЧрд╣ рд╣реИрдВ:

1) рдЬрдм xibs рд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реЛ:
MyView* view = [[[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil] lastObject]; 

 MyViewController* controller = [MyViewController initWithNibName:@"MyViewController" bundle:nil]; 

2) рдЬрдм CoreData рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
 NSFetchRequest *request = [[NSFetchRequest alloc] init]; [request setEntity:[NSEntityDescription entityForName:@"MyCoreDataClass" inManagedObjectContext:moc]]; [request setSortDescriptors:@[ [[NSSortDescriptor alloc] initWithKey:@"someProperty" ascending:NO] ]]; 

3) рдпрджрд┐ рдЖрдк рдХреЗрд╡реАрдУ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ рд▓рд╛рдЗрдиреЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ:
 [self addObserver:someObservedObject forKeyPath:@"someProperty" options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) context:nil]; 

4) рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ KVC:
 NSInteger maxValue = [[arrayOfMyClassObjects valueForKeyPath:@"@max.someProperty"] intValue]; 

5) рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк SQLDite рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП CoreData рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк xibs рдХреЗ рд╕рд╛рде рд╕реНрдХреНрд╡реАрд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХреЛрдб рдЖрдкрдХреЛ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
 [self.tableView dequeueReusableCellWithIdentifier:@"MyTableViewCell"]; 

6) рдЦреИрд░, рдЬрдм Apple рдиреЗ рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб рдХреЛ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд╛рдордиреЗ рдкреЗрд╢ рдХрд┐рдпрд╛ - рдпрд╣ рдЕрджреНрднреБрдд рдерд╛, рдЕрдЧрд░ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП:
 [self performSegueWithIdentifier:@"MySegue" sender:nil] 

 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:( id )sender { if ( [segue.identifier isEqual:@"MySegue"] ); } 

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

Xibs рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдирд┐рдпрдо рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ xib рдХрд╛ рдирд╛рдо рдЙрд╕ рд╡рд░реНрдЧ рдХреЗ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдХреЛрдб рдЗрд╕ рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
 MyView* view = [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([MyView class]) owner:self options:nil] lastObject]; 

 MyViewController* controller = [MyViewController initWithNibName:NSStringFromClass([MyViewController class] bundle:nil]; 

рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо рдЕрдкрдиреА рдХрдХреНрд╖рд╛ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ (Xcode -> Edit -> Refactor -> рдирд╛рдо рдмрджрд▓рдХрд░ "рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ" рдЪреЗрдХрдмреЙрдХреНрд╕ рдЪрдпрдирд┐рдд), рддреЛ рдЬрдм xib рдХрд╛ рдирд╛рдо рдмрджрд▓рд╛ рдЬрд╛рдПрдЧрд╛ рддреЛ рдЙрд╕рдХрд╛ рднреА рдирд╛рдо рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░, рддрджрдиреБрд╕рд╛рд░, рд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИ рджреЗрдЦреЗрдВ / рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

CoreData

рдЙрджрд╛рд╣рд░рдг 2 рдХреЗ рд╕рд╛рде, рд╕рдорд╛рдзрд╛рди рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдФрд░ рдЬрдЯрд┐рд▓ рд╣реИред
рдкрд╣рд▓реЗ рд╣рдореЗрдВ MagicalRecord рдФрд░ mogenerator рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдпрджрд┐ рдЖрдк CoreData рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рднреА рдЗрди рдмреЗрд╣рддрд░реАрди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
MagicalRecord рдХреЛ рд╣рдорд╛рд░реЗ рдкреЙрдбрдлрд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдкреБрд░рд╛рдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ - рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП gihab рджреЗрдЦреЗрдВ)
 pod MagicalRecord 

рдФрд░ mogenerator рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
 brew install mogenerator 

рдпрд╛ рд╕рд╛рдЗрдЯ рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред

mogenerator CoreData рдореЙрдбрд▓ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЕрдиреНрдпрдерд╛ рд╣рд╛рде рд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред
рдЕрдм рд╣рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рд▓реНрдб рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ -> рд▓рдХреНрд╖реНрдп -> тАЛтАЛрдмрд┐рд▓реНрдб рдЪрд░рдг рдЬреЛрдбрд╝реЗрдВ -> рд░рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝реЗрдВ:
рд╣рдо рд▓рдХреНрд╖реНрдп рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдЪрд░рдгрдмрджреНрдз рдЯреИрдм рдмрдирд╛рдПрдБ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдирдпрд╛ рдЪрд░рдг рдЬреЛрдбрд╝реЗрдВ:
рдЫрд╡рд┐
рдЦреИрд░, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реА:
рдЫрд╡рд┐
рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдХреЗ рд╕рдорд╛рди рд╕реНрддрд░ рдкрд░, рдЖрдкрдХреЛ рджреЛ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдорд╛рдирд╡ рдФрд░ рдорд╢реАрдиред CMD + B рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ - рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рдЗрди рджреЛрдиреЛрдВ рдлреЛрд▓реНрдбрд░ рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рд╡реЗ CoreData рд╕реЗ рдЙрддреНрдкрдиреНрди рдореЙрдбрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВрдЧреЗред

рдХреЗрд╡реАрдУ рдФрд░ рдХреЗрд╡реАрд╕реА

рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдореЗрдВ рдПрдХ рдФрд░ рдЪреАрдЬ рдЬреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХрд╛ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рд╡рд╣ рд╣реИ рдХреЗрд╡реАрдУ рдФрд░ рдХреЗрд╡реАрд╕реА рдХреЗ рд▓рд┐рдП рдХреАрдкреИрдеред рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдореЛрдЧреЗрдиреЗрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдорд╛рд░реЗ рдореЙрдбрд▓ рдореЗрдВ MyCoreDataClass рдХреНрд▓рд╛рд╕ рд╣реИ, рддреЛ mogenerator MyCoreDataClassAttributes, MyCoreDataClassRelationships рдФрд░ MyCoreDataClassRetchedProperties рд╕рдВрд░рдЪрдирд╛рдПрдБ рдмрдирд╛рдПрдЧрд╛ред рддреЛ рдЕрдм рд╣рдо рдЙрджрд╛рд╣рд░рдг 2 рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:
 NSArray* arr = [MyCoreDataClass MR_findAllSortedBy:MyCoreDataClassAttributes.someProperty ascending:NO inContext:moc]; 

рдФрд░ рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ 3 рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
 [self addObserver:myCoreDataClass forKeyPath:MyCoreDataClassAttributes.someProperty options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) context:nil]; 

рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рдХреЗрд╡рд▓ рдХреЛрд░рдбрд╛рдЯрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред рд╣рдореЗрдВ рдХреБрдЫ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЪрд╛рд╣рд┐рдПред

Valid-KeyPath рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЙрдкрдпреБрдХреНрдд рд╣реИ:
 #import "EXTKeyPathCoding.h" [self addObserver:myClass forKeyPath:KEY.__(MyClass, someProperty) options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) context:nil]; 

рдпрд╛ EXTKeyPathCoding рдкреБрд╕реНрддрдХрд╛рд▓рдп libextobjc :
 pod libextobjc 

 #import "MTKValidKeyPath.h" [self addObserver:myClass forKeyPath:@keypath(MyClass.new, someProperty) options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) context:nil]; 

рджреЛрдиреЛрдВ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдлрд╛рдпрджреЗ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рджреМрд░рд╛рди рдЖрдИрдбреАрдИ рд╕реЗ рд╕реНрд╡рдд: рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ, рд╕рд╛рде рд╣реА рд╕рдВрдХрд▓рди рдЪрд░рдг рдкрд░ KeyPath рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВрдЧреЗред

рдпрджрд┐ рдЖрдк рдЙрджрд╛рд╣рд░рдг 4 рдореЗрдВ KVC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ KeyPath рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдКрдкрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рд╕реА рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк рдЙрджреНрджреЗрд╢реНрдп-рд╕реА рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА LINQ- рд▓рд╛рдЗрдмреНрд░реЗрд░рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП LinqToObjector
 pod LinqToObjectiveC 

 NSInteger maxValue = [arrayOfMyClassObjects aggregate:^(MyClass* myClass, NSInteger aggregate){ return MAX( [myClass.someProperty intValue], aggregate); }]; 


рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб

UI рднрд╛рдЧ рдХреЗ рд▓рд┐рдП, ssgenerator рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣рдорд╛рд░реА рдорджрдж рдХрд░реЗрдЧреА ред рдЗрд╕реЗ рдпрд╣рд╛рдБ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред
рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ:
рдЫрд╡рд┐
рдлрд┐рд░ рд╣рдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЙрддреНрдкрдиреНрди рдлрд╛рдЗрд▓реЗрдВ StoryboardSegue.h рдФрд░ StoryboardSegue.m рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реНрдЯреЛрд░реАрдмреЛрд░реНрдб рдореЗрдВ рдЙрди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╣реИрдВ рдЬрд┐рдирдореЗрдВ UIStoryboardSegue рдпрд╛ UITableViewCell рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реИрдВред рдЕрдм рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 [self.tableView dequeueReusableCellWithIdentifier:self.cell.MyTableViewCell]; 

 [self performSegueWithIdentifier:self.segue.MySegue sender:nil] 

 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:( id )sender { if ( [segue.identifier isEqual:self.segue.MySegue] ); } 


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


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

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

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


All Articles