Memory Management & ARC
ARC、strong/weak/unowned、retain cycle、capture list、メモリリーク、プロファイリング
22 面接問題·
Senior
1iOSにおけるARC(Automatic Reference Counting)とは何ですか?
1
iOSにおけるARC(Automatic Reference Counting)とは何ですか?
回答
ARCはオブジェクトへの参照をカウントする自動メモリ管理メカニズムです。コンパイラがretainとreleaseの呼び出しを自動的に挿入し、手動でのメモリ管理を不要にします。参照カウントがゼロになると、オブジェクトは解放されます。ARCは一般的なメモリリークを防ぐことで、iOSプログラミングを大幅に簡素化します。
2ARCにおけるstrong referenceとは何ですか?
2
ARCにおけるstrong referenceとは何ですか?
回答
strong referenceは参照先オブジェクトの参照カウントを増加させます。デフォルトでは、すべての変数はstrong referenceです。少なくとも1つのstrong referenceがオブジェクトを指している限り、オブジェクトはメモリに残ります。strong referenceを使いすぎると、解放を妨げるretain cycleが発生する可能性があります。
3retain cycle(循環参照)とは何ですか?
3
retain cycle(循環参照)とは何ですか?
回答
retain cycleは、2つ以上のオブジェクトが互いにstrong referenceを保持しているときに発生します。それぞれが相手の参照カウントがゼロに達するのを妨げるため、どちらも解放できません。これによりメモリリークが発生します。retain cycleは、循環関係でweakまたはunowned referenceを使用することで防止できます。
4
ARCのメモリ管理におけるdeinitの役割は何ですか?
5
weak referenceとunowned referenceの違いは何ですか?
+19 面接問題
その他のiOS面接トピック
Swift の基礎
Junior
25問Swift言語の基礎
Junior
15問UIKit の基礎
Junior
18問UIViewControllerのライフサイクル
Junior
20問UserDefaults & Keychain
Junior
20問アプリケーションのライフサイクル
Junior
20問Auto Layout & Constraints
Mid-Level
24問UITableView & UICollectionView
Mid-Level
25問SwiftUIの基礎
Mid-Level
18問SwiftUI の状態管理
Mid-Level
22問SwiftUI ナビゲーション
Mid-Level
18問Networking & URLSession
Mid-Level
20問Codable と JSON パース
Mid-Level
20問Core Data
Mid-Level
22問プロトコル指向プログラミング
Mid-Level
20問MVVMアーキテクチャ
Mid-Level
20問プッシュ通知
Mid-Level
18問ユニットテストとXCTest
Mid-Level
20問UIテスト
Mid-Level
18問Xcode とビルドシステム
Mid-Level
16問Swift Package Manager
Mid-Level
16問Combine Framework
Senior
24問Concurrency & async/await
Senior
26問iOS Design Patterns
Senior
24問パフォーマンス最適化
Senior
22問セキュリティと暗号化
Senior
20問SwiftUI Advanced
Senior
22問iOSアプリケーションアーキテクチャ
Senior
22問