我有一個簡單的問題。如下圖所示,如果我聲明的NSString(ref類型):Objective-C NSString參考類型
NSString *johnsMoney = @"200";
NSString *marysMoney = johnsMoney;
NSLog(@"Johns Money %@",johnsMoney);
NSLog(@"Marys Money %@",marysMoney);
johnsMoney = @"100";
NSLog(@"Johns Money %@",johnsMoney);
NSLog(@"Marys Money %@",marysMoney);
產生的輸出是這樣的:
Johns Money 200
Marys Money 200
Johns Money 100
Marys Money 200
從我的理解,當我分配@「100」到johnsMoney應該難道不也是變化「marysMoney」的值爲100,因爲marysMoney指向johnsMoney。
UPDATE:
我相信下面的例子顯示了我最初嘗試做:
Dog *dog1 = [[Dog alloc] init];
dog1.name = @"Dog 1";
Dog *dog2 = dog1;
NSLog(@"Dog 1 %@",dog1.name);
NSLog(@"Dog 2 %@",dog2.name);
dog1.name = @"Dog 3";
NSLog(@"Dog 1 %@",dog1.name);
NSLog(@"Dog 2 %@",dog2.name);
https://stackoverflow.com/a/16460928這個答案將清除疑問,我猜。 –