Об указателях в Objective-C - PullRequest
       1

Об указателях в Objective-C

5 голосов
/ 01 декабря 2011

Я наткнулся на следующее и не могу понять, почему это работает. Не могли бы вы объяснить, почему мне не нужно использовать указатель перед range?

NSString *d = @"The quick brown fox";
NSRange range = [d rangeOfString:@"brown"];

1 Ответ

9 голосов
/ 01 декабря 2011

NSString - это тип объекта. Все типы объектов являются указателями и не могут быть созданы в стеке. NSRange является C-структурой. Структуры могут быть созданы в стеке, и, следовательно, не обязательно все указатели.

Нет хорошего руководства, чтобы узнать, какие из них являются объектами, а какие - структурами. Вам просто нужно будет проверять каждый тип по мере продвижения вперед.

...