рд╣рдо рд╢реНрд░рдо рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдореИрдХреНрд░реЛрдЬрд╝ рдФрд░ рд╢рд╛рдмреНрджрд┐рдХ рдЙрджреНрджреЗрд╢реНрдп-рд╕реА


рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!
рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрдо рд╕реЗ рдХрдо рдЖрдзрд╛ рд╕рдордп рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЦрд░реНрдЪ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рд╕рдордп рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдЫреЛрдЯрд╛ рдХрд░рдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред
рдПрдХ рдмрд╛рд░, рдЬрдм рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ NSString * рдирд┐рд░реНрдорд╛рдг рд▓рд┐рдЦрд╛, рддреЛ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдХреБрдЫ рдмрджрд▓рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
IOS рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдХрд░рдХреЗ рдЖрдк рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЛ рдХреИрд╕реЗ рд╕рд░рд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рд▓реЗрдЦ рджреВрд╕рд░реЗ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╣реИред



рд╢рд╛рдмреНрджрд┐рдХ


рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдХреЛрдб рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдиреЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╢рд╛рдмреНрджрд┐рдХ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред
рд╕рднреА рдЙрджрд╛рд╣рд░рдг Xcode 4.5 рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрди рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЛ рд╕рдВрдкреАрдбрд╝рд┐рдд рдПрдирд╛рд▓реЙрдЧреНрд╕ рд╕реЗ рдмрджрд▓рддреЗ рд╣реИрдВ:
 [NSArray arrayWithObjects:@"1", @"2", @"3", nil] => @[@"1", @"2", @"3"]; [NSDictionary dictionaryWithObjects:@"1", @"2", @"3", nil forKeys:@"one", @"two", @"three", nil] => @{@"one" : @"1", @"two" : @"2", @"three" : @"3"} 

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╡рд╕реНрддреБрдПрдБ рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рдЖрдкрдХреЛ рдЕрдкрд╡рд╛рдж рдорд┐рд▓реЗрдВрдЧреЗред
рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП
 [NSNumber numberWithChar:'A'] => NSNumber *theA = @'A'; // [NSNumber numberWithInt:42] => NSNumber *fortyTwo = @42; [NSNumber numberWithUnsignedInt:42U] => NSNumber *fortyTwoUnsigned = @42U; [NSNumber numberWithLong:42L] => NSNumber *fortyTwoLong = @42L; [NSNumber numberWithLongLong:42LL] => NSNumber *fortyTwoLongLong = @42LL; //   [NSNumber numberWithFloat:3.141592654F] => NSNumber *piFloat = @3.141592654F; [NSNumber numberWithDouble:3.1415926535] => NSNumber *piDouble = @3.1415926535; // [NSNumber numberWithBool:YES] => NSNumber *yesNumber = @YES; [NSNumber numberWithBool:NO] => NSNumber *noNumber = @NO; 

рдЗрд╕реА рддрд░рд╣, рдЖрдк рдЪрд░ рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдХреЛрд╖реНрдардХ @ () рдореЗрдВ рд░рдЦреЗрдВ

рдЕрдзрд┐рдХ рджрд┐рд▓рдЪрд╕реНрдк!
 NSMutableArray * array = [@[@"1", @"2", @"3"] mutableCopy] ; [array objectAtIndex:0] => array[0]; array[0] = @"5"; NSMutableDictionary *dictionary = [@{@"one" : @"1", @"two" : @"2", @"three" : @"3"} mutableCopy]; NSString *key = @"one"; oldObject = dictionary[key]; dictionary[key] = newObject; 

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдХ рдЯрди рд╕рд┐рдВрдЯреИрдХреНрдЯрд┐рдХ рдЪреАрдиреАред

рдореИрдХреНрд░реЛ


рдЖрдк рдореИрдХреНрд░реЛрдЬрд╝ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡реЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЧрддрд┐ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рджрд┐рд▓рдЪрд╕реНрдк рдореИрдХреНрд░реЛ рдХреА рдПрдХ рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ:
 #define ApplicationDelegate ((MyAppDelegate *)[[UIApplication sharedApplication] delegate]) #define UserDefaults [NSUserDefaults standardUserDefaults] #define SharedApplication [UIApplication sharedApplication] #define Bundle [NSBundle mainBundle] #define MainScreen [UIScreen mainScreen] #define ShowNetworkActivityIndicator() [UIApplication sharedApplication].networkActivityIndicatorVisible = YES #define HideNetworkActivityIndicator() [UIApplication sharedApplication].networkActivityIndicatorVisible = NO #define NetworkActivityIndicatorVisible(x) [UIApplication sharedApplication].networkActivityIndicatorVisible = x #define NavBar self.navigationController.navigationBar #define TabBar self.tabBarController.tabBar #define NavBarHeight self.navigationController.navigationBar.bounds.size.height #define TabBarHeight self.tabBarController.tabBar.bounds.size.height #define ScreenWidth [[UIScreen mainScreen] bounds].size.width #define ScreenHeight [[UIScreen mainScreen] bounds].size.height #define TouchHeightDefault 44 #define TouchHeightSmall 32 #define ViewWidth(v) v.frame.size.width #define ViewHeight(v) v.frame.size.height #define ViewX(v) v.frame.origin.x #define ViewY(v) v.frame.origin.y #define SelfViewWidth self.view.bounds.size.width #define SelfViewHeight self.view.bounds.size.height #define RectX(f) f.origin.x #define RectY(f) f.origin.y #define RectWidth(f) f.size.width #define RectHeight(f) f.size.height #define RectSetWidth(f, w) CGRectMake(RectX(f), RectY(f), w, RectHeight(f)) #define RectSetHeight(f, h) CGRectMake(RectX(f), RectY(f), RectWidth(f), h) #define RectSetX(f, x) CGRectMake(x, RectY(f), RectWidth(f), RectHeight(f)) #define RectSetY(f, y) CGRectMake(RectX(f), y, RectWidth(f), RectHeight(f)) #define RectSetSize(f, w, h) CGRectMake(RectX(f), RectY(f), w, h) #define RectSetOrigin(f, x, y) CGRectMake(x, y, RectWidth(f), RectHeight(f)) #define DATE_COMPONENTS NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit #define TIME_COMPONENTS NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit #define FlushPool(p) [p drain]; p = [[NSAutoreleasePool alloc] init] #define RGB(r, g, b) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1.0] #define RGBA(r, g, b, a) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:a] 


рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦреЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ <project_name>-Prefix.pch рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдмрд╛рдж рдЙрдиреНрд╣реЗрдВ рдХреЛрдб рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВред рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

рдиреЛрдЯ : iStyx рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрд╖реНрдардХ рдореЗрдВ рдореИрдХреНрд░реЛ рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рд▓рдкреЗрдЯрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛
 #define RGB(r, g, b) [UIColor colorWithRed:(r)/255.f green:(g)/255.f blue:(b)/255.f alpha:1.f] 


рдУрд╡рд░рд░рд╛рдЗрдб рдЯрд╛рдЗрдк рдХрд░реЗрдВ


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдкреБрдирд░реНрдкрд░рд┐рднрд╛рд╖рд┐рдд рдЯрд╛рдЗрдк рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ рд╕рд┐рддрд╛рд░реЛрдВ рдФрд░ рдПрдирдПрд╕ рдЙрдкрд╕рд░реНрдЧреЛрдВ рд╕реЗ рджреВрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЖрджрдд рд╣реЛред
рдпрд╣рд╛рдБ рдХреБрдЫ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

 typedef NSString* String; typedef NSNumber* Number; typedef NSArray* Array; typedef NSMutableArray* MutableArray; typedef NSDictionary* Dictionary; typedef NSMutableDictionary* MutableDictionary; 


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


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдордиреЗ рдПрдХ рд╕рддрд╣реА рдкрд░рд┐рдЪрдп рджрд┐рдпрд╛ред рдЕрдкрдиреЗ рдХрд╛рдо рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдПрдВ, рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд░реНрдг рди рд▓рд┐рдЦреЗрдВ (рд▓реЗрдХрд┐рди рдЪрд░ рдХреЗ рддрд╛рд░реНрдХрд┐рдХ рдирд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛ !!!)

рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╕реМрднрд╛рдЧреНрдпред

PS рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ Pilot34 рдиреЗ рд╕рд╣рд╛рдпрдХ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдЕрдкрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рд╛рдЭрд╛ рдХреАред

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


All Articles