注意:通過new創(chuàng)建出來的的局部對(duì)象變量存儲(chǔ)在堆內(nèi)存中膛堤,堆中的數(shù)據(jù)不會(huì)自動(dòng)釋放。而存儲(chǔ)在棧內(nèi)存中的局部變量會(huì)自動(dòng)釋放掉(比如C語言中的基本數(shù)據(jù)類型的變量)
#pragma mark - 商店
@interface Shop : NSObject
// 買槍
+ (Gun *)buyGun:(int)money;
// 買彈夾
+ (Clip *)buyClip:(int)money;
@end
@implementation Shop
+ (Gun *)buyGun:(int)money
{
// 1.創(chuàng)建一把槍
Gun *gun = [Gun new]; // 通過new創(chuàng)建出來的對(duì)象存儲(chǔ)在堆中, 堆中的數(shù)據(jù)不會(huì)自動(dòng)釋放
// 2.返回一把槍
return gun;
}
+ (Clip *)buyClip:(int)money
{
Clip *clip = [Clip new];
[clip addBullet];
return clip;
}
@end