Я программист C++ & c, и я новичок в мире объектива-C, поэтому у меня есть проблема понимание того, как это работает, здесь короткий код, который меня смутило,Objective-C: Создание и использование объектов
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
@autoreleasepool {
NSDate *now = [NSDate date];
NSLog(@"The date is %@", now);
double seconds = [now timeIntervalSince1970];
NSLog(@"It has been %f seconds since the start of 1970.", seconds);
}
return 0; }
теперь указатель на тип объекта NSDate мой вопрос, почему мы не можем сделать это:
double seconds = [NSDate timeIntervalSince1970];
обычно первая часть является тип объекта, а вторая часть метод Прошу прощения, если это плохой вопрос bu Я очень хочу понять Objective-C с самого начала. Благодаря
Если вы знаете, C++, то это ничем не отличается от вызова ' Класс :: classMethod() 'и' myClass.instanceMethod() '. Прежде чем изучать язык, просмотрев код, прочтите следующее: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html – trojanfoe
ОК, но почему мы можем это сделать NSDate * now = [NSDate date]; ??? – satyres
, потому что '-timeIntervalSince1970' - это метод _instance_, а не метод _class_. если бы это был метод класса, вы бы сделали то, что хотели. – holex