- (void)viewDidLoad { [super viewDidLoad]; MyClass *myc = [[MyClass alloc] init]; NSLog(@"在刚实例化的时候:"); NSLog(@"myc.retainCount = %d",myc.retainCount); NSLog(@"myc:%@",myc); NSLog(@"\n"); [self doSomething:myc]; } - (void)doSomething:(MyClass *)myClass { NSLog(@"被当作参数传递后:"); NSLog(@"myc.retainCount = %d",myClass.retainCount); NSLog(@"myc:%@",myClass); }
输出结果:
事实证明,函数参数是通过assign的形式传入函数体内供函数调用的。