NSHost *instance = [NSHost currentHost];
NSString *answer = [instance localizedName];
NSLog(@"%@",answer);
Хорошо, я знаю основы указателя, но у меня есть некоторые сомнения в этой 3-строчной строке. После публикации аналогичного вопроса на этом веб-сайте, все же ответ, который я получил, на самом деле не отвечает на мой вопрос. Итак, в первую очередь, Я знаю, что указатель должен содержать адрес. Но почему бы нам не сделать что-то подобное? NSHost * экземпляр = & [NSHost currentHost]; добавлено &. Это потому, что только & показывает адрес чего-то.Назначение указателя в Objective C или C
второй вопрос, что делает [NSHost currentHost] возвращение
не возвращает адрес своего экземпляра? ЕСЛИ не мы можем назначить NSHost * instance = [NSHost currentHost]; это не правильно.
Третий вопрос, Я знаю, что NSString * answer = [instance localizedName]; возвращает экземпляр NSString, потому что он написан в книге, и я использую его сейчас, чтобы завершить вызов в книге. в этом коде NSString * answer = [instance localizedName] Мы назначаем указатель на указатель ?? потому что [instance localizedName] возвращает указатель NSString.
Когда дело касается объектов, в Objective-C нет объектов типа Object, а только Objective-C. Другими словами, вы никогда не назначаете объекты, вы всегда назначаете указатели на объекты. – Jano
@Jano - Я думаю, что вы хотите сказать, что нет такой вещи, как * variable *, которая относится к типу объекта. Очевидно, что есть объекты и у них есть типы (классы), но вы никогда не назначаете (копируете) объект, а только его указатель. –
@HotLicks Да, гораздо лучше объяснил, спасибо. – Jano