5

我偶然发现了以下内容,似乎无法弄清楚为什么会这样。请你能解释一下为什么我之前不需要使用指针range吗?

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

1 回答 1

9

NSString是一个对象类型。所有对象类型都是指针,不能在堆栈上创建。NSRange是一个 C 结构。结构可以在堆栈上创建,因此不一定都是指针。

没有一个很好的指南来知道哪些是对象,哪些是结构。您只需在前进时检查每种类型。

于 2011-11-30T23:20:34.060 回答