Основные принципы:
- абстракция (например, класс NSObject)
- инкапсуляция (сокрытие методов (поведения) и свойств (полей, переменных) внутри класса)
- полиморфизм
- насследование
Примеры классов из фреймворка Foundation (подключается как #import <Foundation/Foundation.h>):
- NSData
- NSButton
- NSCalendar
- NSViewController
- NSArray
- NSString
- NSDate
- NSCoder
- NSLock
- NSError
NSString * theFirstName = @""; NSString* theLastName = @""; NSString *theMiddleName = @""; NSLog(@"%@ %@ %@", theFirstName, theMiddleName, theLastName);
Пример создания объектов класса NSString.
Звездочка говорит о том что переменная является указателем. Т.е. фактические в ней хранится не сам объект, а адрес в памяти по которому можно найти объект.
Некоторые утверждают, что звездочку надо ставить отдельно от переменной, как первых двух строках примера выше, потому что она не относится к имени переменной, а скорее подчеркивает тип переменной.
Другие утверждают что звездочку надо писать вплотную к имени переменной чтобы сразу было видно, что это указатель. Лично я именно так и привык писать. Кроме того есть некоторые стандарты, которые тоже поддерживают именно этот вариант:
Другие стандарты.
Еще пример:
Если выделить класс то в Quick help inspector отражается помощь по классу.
Аналогичную помощь можно получить если нажать на классе с зажатой клавишей ⌥ Option или Windows logo клавишей, если вы под Хакинтошем. В справке по методам класса, + значит что метод классовый. а - значит что метод объектный.
Некоторые методы класса NSString:
Правила наименования методов в Objective-C иногда приводят к таким вот длинным конструкциям.
Как расшифровать сигнатуру метода в Objective-C
Звездочка говорит о том что переменная является указателем. Т.е. фактические в ней хранится не сам объект, а адрес в памяти по которому можно найти объект.
Некоторые утверждают, что звездочку надо ставить отдельно от переменной, как первых двух строках примера выше, потому что она не относится к имени переменной, а скорее подчеркивает тип переменной.
Другие утверждают что звездочку надо писать вплотную к имени переменной чтобы сразу было видно, что это указатель. Лично я именно так и привык писать. Кроме того есть некоторые стандарты, которые тоже поддерживают именно этот вариант:
Другие стандарты.
Еще пример:
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSDate *theToday = [NSDate date]; NSLog(@"theToday = %@", theToday); // theToday = 2014-08-15 10:00:02 +0000 NSString *theHelloWorld = @"Hello, World!"; unsigned long theSize = [theHelloWorld length]; NSLog(@"theHelloWorld.length = %lu", theSize); // theHelloWorld.length = 13 } return 0; }
Если выделить класс то в Quick help inspector отражается помощь по классу.
Аналогичную помощь можно получить если нажать на классе с зажатой клавишей ⌥ Option или Windows logo клавишей, если вы под Хакинтошем. В справке по методам класса, + значит что метод классовый. а - значит что метод объектный.
Некоторые методы класса NSString:
- lowercaseString
- uppercaseString
- length
- hasSuffix
- hasPrefix
Правила наименования методов в Objective-C иногда приводят к таким вот длинным конструкциям.
Как расшифровать сигнатуру метода в Objective-C