21 мар. 2014 г.
Конвертация NSString в массив символов
Один из способов сделать это - просто получить один символ подстроки из заданной полной строки:
NSString *s = @"Hello World"; int i; NSMutableArray *m = [[NSMutableArray alloc] init]; for (i = 0;i < [s length]; i++) {
[m addObject:[s substringWithRange:NSMakeRange(i, 1)]]; } NSLog([m description]);
20 мар. 2014 г.
Добавление числа в массив / Add number to Array
Обычно в массив типа NSArray или NSMutableArray нельзя добавить простое число или структуру, а только объект. Значит (в нашем примере) преобразуем наше простое число (например int) в объект. Число можно преобразовать как с помощью NSString, так и с помощью NSNumber.
NSMutableArray *myArray = [NSMutableArray arrayWithCapacity:30]; // должен быть мутабельным for (int x = 0; x < 30; x++) { // добавить как NSString [myArray addObject:[NSString stringWithFormat:@"%d", x]]; // добавить как NSNumber [myArray addObject:[NSNumber numberWithInt: x]]; } // результат NSLog([myArray description]);
Для обоих случаев используемые классы возвращают число как объект.
NSString удаление пробелов в начале и конце текста
Удаление ненужных пробелов по бокам текста:
- alphanumericCharacterSet
- capitalizedLetterCharacterSet
- controlCharacterSet
- decimalDigitCharacterSet
- decomposableCharacterSet
- illegalCharacterSet
- letterCharacterSet
- lowercaseLetterCharacterSet
- newlineCharacterSet
- nonBaseCharacterSet
- punctuationCharacterSet
- symbolCharacterSet
- uppercaseLetterCharacterSet
- whitespaceAndNewlineCharacterSet
- whitespaceCharacterSet
NSString *string = @" spaces in front and at the end "; NSString *trimmedString = [string stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]; NSLog(trimmedString)
Хотя такая стандартная задача может выглядеть с чрезмерно большим количеством кода,но при этом Вы получаете множество дополнительных функций для операций с текстом. NSCharacterSet и его набор некоторых методов:- capitalizedLetterCharacterSet
- controlCharacterSet
- decimalDigitCharacterSet
- decomposableCharacterSet
- illegalCharacterSet
- letterCharacterSet
- lowercaseLetterCharacterSet
- newlineCharacterSet
- nonBaseCharacterSet
- punctuationCharacterSet
- symbolCharacterSet
- uppercaseLetterCharacterSet
- whitespaceAndNewlineCharacterSet
- whitespaceCharacterSet
19 мар. 2014 г.
Как хранить BOOL - переменную как NSNumber
Создать NSNumber - переменную с булевой можно таким способом:
Технически это аналог инициализации NSNumber с помощью литералов @1 и @0
И обратная операция с NSNumber в BOOL:
BOOL myBool = YES;
NSNumber *boolNumber = [NSNumber numberWithBool:myBool];
NSLog(@"boolNumber is %@", boolNumber); // выдаст 1 для YES и 0 для NO
Технически это аналог инициализации NSNumber с помощью литералов @1 и @0
И обратная операция с NSNumber в BOOL:
BOOL anotherBool = [NSNumber numberWithBool:YES];
NSLog(@"anotherBool is %i", anotherBool); // выдаст 1 для YES и 0 для NO
18 мар. 2014 г.
Badges на иконке Вашего приложения (дополнение) / NSlider and docTile
Дополнение к статье заключается в том чтобы в реальном времени изменять данные в бэйджике на иконке приложения вместе с некими изменениями данных в Вашем приложении.
Нужно добавить в методе - (void)applicationDidFinishLaunching:(NSNotification *)aNotification строчку после [sliderTextLabel setIntValue:[slider intValue]]; :
[[NSApp dockTile] setBadgeLabel:[NSString stringWithFormat:@"%i",[slider intValue]]];
Также в нашем экшене - (IBAction)sliderChange:(id)sender после строки [sliderTextLabel setIntValue:[slider intValue]]; Вставить ту же строку, что Вы вставляли в - (void)applicationDidFinishLaunching:(NSNotification *)aNotification
[NSString stringWithFormat:@"%i",[slider intValue]]
приводит целочисленное значение в тип "строка", тем самым обрезает плавающую точку. Если вместо этого написать просто [slider stringValue], то будет отображаться число с плавающей точкой.
Два новых концепта нового iPhone 6
С каждым днем, количество слухов о новом iPhone растет. Сегодня в сети
появилось два новых ролика, демонстрирующие концепты профессиональных
дизайнеров.