遍匈 / Swift / Swift縮殻 /

Swift郡兜兵晒

<貧匯准 和匯准>
壓匯倖窃議糞箭瓜瞥慧岻念?郡兜兵晒痕方瓜羨軸距喘。喘購囚忖deinit栖炎幣郡兜兵晒痕方?窃貌噐兜兵晒痕方喘init栖炎幣。郡兜兵晒痕方峪癖喘噐窃窃侏。

郡兜兵晒圻尖

Swift氏徭強瞥慧音壅俶勣議糞箭參瞥慧彿坿。泌徭強哈喘柴方椎匯嫗宙峰?Swift宥狛徭強哈喘柴方?ARC?侃尖糞箭議坪贋砿尖。宥械輝低議糞箭瓜瞥慧扮音俶勣返強議肇賠尖。徽頁?輝聞喘徭失議彿坿扮?低辛嬬俶勣序佩匯乂駆翌議賠尖。箭泌?泌惚幹秀阻匯倖徭協吶議窃栖嬉蝕匯倖猟周?旺亟秘匯乂方象?低辛嬬俶勣壓窃糞箭瓜瞥慧岻念購液乎猟周。

壓窃議協吶嶄?耽倖窃恷謹峪嬬嗤匯倖郡兜兵晒痕方。郡兜兵晒痕方音揮販採歌方?壓亟隈貧音揮凄催?
deinit {
 // 峇佩郡兜兵晒
}
郡兜兵晒痕方頁壓糞箭瞥慧窟伏念匯化瓜徭強距喘。音塋俯麼強距喘徭失議郡兜兵晒痕方。徨窃写覚阻幻窃議郡兜兵晒痕方?旺拝壓徨窃郡兜兵晒痕方糞孖議恷朔?幻窃議郡兜兵晒痕方瓜徭強距喘。軸聞徨窃短嗤戻工徭失議郡兜兵晒痕方?幻窃議郡兜兵晒痕方匆悳頁瓜距喘。

咀葎岷欺糞箭議郡兜兵晒痕方瓜距喘扮?糞箭嘉氏瓜瞥慧?侭參郡兜兵晒痕方辛參恵諒侭嗤萩箔糞箭議奉來?旺拝功象椎乂奉來辛參俐個万議佩葎(曳泌臥孀匯倖俶勣瓜購液議猟周議兆各)。

郡兜兵晒痕方荷恬

宸戦頁匯倖郡兜兵晒痕方荷恬議箭徨。宸倖箭徨頁匯倖酒汽議嗄老?協吶阻曾嶽仟窃侏?Bank才Player。Bank潤更悶砿尖匯倖倡亭歯衛議送宥?壓宸倖送宥嶄Bank喟垓音辛嬬啜嗤階狛10,000議啣衛。壓宸倖嗄老嶄嗤拝峪嬬嗤匯倖Bank贋壓?咀緩Bank喇揮嗤床蓑奉來才床蓑圭隈議潤更悶糞孖?貫遇贋刈才砿尖凪輝念議彜蓑。
struct Bank {
 static var coinsInBank = 10_000
 static func vendCoins(var numberOfCoinsToVend: Int) -> Int {
 numberOfCoinsToVend = min(numberOfCoinsToVend, coinsInBank)
 coinsInBank -= numberOfCoinsToVend
 return numberOfCoinsToVend
 }
 static func receiveCoins(coins: Int) {
 coinsInBank += coins
 }
}
Bank功象万議coinsInBank奉來栖効忸輝念万啜嗤議啣衛方楚。咢佩珊戻工曾倖圭隈—vendCoins才receiveCoins?喘栖侃尖啣衛議蛍窟才辺鹿。

vendCoins圭隈壓bank蛍窟啣衛岻念殊臥頁倦嗤怎校議啣衛。泌惚短嗤怎校謹議啣衛?bank卦指匯倖曳萩箔扮弌議方忖(泌惚短嗤啣衛藻壓bank嶄祥卦指0)。vendCoins圭隈蕗苧numberOfCoinsToVend葎匯倖延楚歌方?宸劔祥辛參壓圭隈悶議坪何俐個方忖?遇音俶勣協吶匯倖仟議延楚。vendCoins圭隈卦指匯倖屁侏峙?燕苧阻戻工議啣衛議糞縞方朕。

receiveCoins圭隈峪頁繍bank議啣衛贋刈才俊辺欺議啣衛方朕屢紗?壅隠贋指bank。

Player窃宙峰阻嗄老嶄議匯倖螺社。耽匯倖player壓販採扮震脅嗤匯協方楚議啣衛贋刈壓麿断議熱淫嶄。宸宥狛player議coinsInPurse奉來栖悶孖:
class Player {
 var coinsInPurse: Int
 init(coins: Int) {
 coinsInPurse = Bank.vendCoins(coins)
 }
 func winCoins(coins: Int) {
 coinsInPurse += Bank.vendCoins(coins)
 }
 deinit {
 Bank.receiveCoins(coinsInPurse)
 }
}
耽倖Player糞箭脅喇匯倖峺協方朕啣衛怏撹議尼強駆業兜兵晒?宸乂啣衛壓bank兜兵晒議狛殻嶄誼欺。泌惚短嗤怎校議啣衛辛喘?Player糞箭辛嬬辺欺曳峺協方朕富議啣衛。

Player窃協吶阻匯倖winCoins圭隈?乎圭隈貫bank資函匯協方楚議啣衛?旺委万断耶紗欺player議熱淫。Player窃珊糞孖阻匯倖郡兜兵晒痕方?宸倖郡兜兵晒痕方壓Player糞箭瞥慧念匯化瓜距喘。宸戦郡兜兵晒痕方峪頁繍player議侭嗤啣衛脅卦指公bank:
var playerOne: Player? = Player(coins: 100)
println("A new player has joined the game with \ (playerOne!.coinsInPurse) coins")
// 補竃 "A new player has joined the game with 100 coins"
println("There are now \(Bank.coinsInBank) coins left in the bank")
// 補竃 "There are now 9900 coins left in the bank"
匯倖仟議Player糞箭昧彭匯倖100倖啣衛(泌惚嗤)議萩箔遇瓜幹秀。宸倖Player糞箭贋刈壓匯倖兆葎playerOne議辛僉Player延楚嶄。宸戦聞喘匯倖辛僉延楚?頁咀葎players辛參昧扮宣蝕嗄老。譜崔葎辛僉聞誼低辛參効忸輝念頁倦嗤player壓嗄老嶄。

咀葎playerOne頁辛僉議?侭參喇匯倖湖名催(!)栖俐蔑?耽輝凪winCoins圭隈瓜距喘扮?coinsInPurse奉來瓜恵諒旺嬉咫竃万議潮範啣衛方朕。
playerOne!.winCoins(2_000)
println("PlayerOne won 2000 coins & now has \ (playerOne!.coinsInPurse) coins")
// 補竃 "PlayerOne won 2000 coins & now has 2100 coins"
println("The bank now only has \(Bank.coinsInBank) coins left")
// 補竃 "The bank now only has 7900 coins left"
宸戦?player厮将哺誼阻2,000啣衛。player議熱淫孖壓嗤2,100啣衛?bank峪複噫7,900啣衛。
playerOne = nil
println("PlayerOne has left the game")
// 補竃 "PlayerOne has left the game"
println("The bank now has \(Bank.coinsInBank) coins")
// 補竃 "The bank now has 10000 coins"
player孖壓厮将宣蝕阻嗄老。宸燕苧頁勣繍辛僉議playerOne延楚譜崔葎nil?吭房頁"短嗤Player糞箭"。輝宸嶽秤趨窟伏議扮昨?playerOne延楚斤Player糞箭議哈喘瓜篤撒阻。短嗤凪万奉來賜宀延楚哈喘Player糞箭?咀緩葎阻賠腎万媼喘議坪贋貫遇瞥慧万。壓宸窟伏念匯化?凪郡兜兵晒痕方瓜徭強距喘?凪啣衛瓜卦指欺bank。
<貧匯准 和匯准>

AltStyle によって変換されたページ (->オリジナル) /