はい、同じことが当てはまります。オブジェクトポインタは、floatと同じように変数です。
test.m:
#include <Foundation/Foundation.h>
@interface Foo : NSObject
{
NSString *ivarString;
}
- (void)foo;
- (void)test;
@end
@implementation Foo
- (void)foo
{
NSString *stackString;
NSLog(@"stackString='%@', ivarString='%@'", stackString, ivarString);
stackString = @"Hello";
ivarString = @"World";
}
- (void)test
{
[self foo];
[self foo];
}
@end
int main(int argc, const char **argv)
{
@autoreleasepool
{
Foo *foo = [[[Foo alloc] init] autorelease];
[foo test];
}
return 0;
}
出力:
2012-08-06 06:52:36.123 test[15293:403] stackString='(null)', ivarString='(null)'
2012-08-06 06:52:36.126 test[15293:403] stackString='Hello', ivarString='World'
このテストプロジェクトでは、ARCではなくMRRを使用していることに注意してください。