Xcode Tips & Debugging
Darsliklar (Tutorials)
Xcode Tips & Debugging — To'liq Darslik
Mundarija
- Xcode interfeysi navigatsiyasi
- Eng kerakli Keyboard Shortcuts
- Breakpoints turlari (Conditional, Symbolic)
- LLDB Debugger (po, p, expression)
- View Debugger (3D UI vizualizatsiyasi)
- Instruments (Performance monitoring)
- Memory Graph Debugger (Retain Cycle topish)
- Xcode Previews (SwiftUI)
- Build Configuration (Debug vs Release)
- Code Snippets va Templates
- Xulosa
1. Xcode interfeysi navigatsiyasi {#xcode-interface}
Xcode — bu juda murakkab vosita. Navigatsiyani osonlashtirish uchun:
- Navigator (Chap tomon): Fayllar, ramzlar (symbols), testlar va qidiruv.
- Inspectors (O'ng tomon): Attributes, Connections va Size inspector.
- Debug Area (Pastki qism): Console va Variables view.
2. Eng kerakli Keyboard Shortcuts {#shortcuts}
Ish tezligini 2 baravar oshiradigan shortcut'lar:
⌘ + ⇧ + O: Quick Open (istalgan faylni nomi bilan topish)⌘ + B: Build⌘ + R: Run⌘ + .: Stop⌘ + /: Kodni comment/uncomment qilish⌃ + I: Kodni avtomatik tekislash (Re-indent)⌘ + ⇧ + J: Hozirgi faylni navigatorda ko'rsatish
3. Breakpoints turlari {#breakpoints}
Breakpoints — bu kodni to'xtatib, holatni tekshirish uchun:
- Oddiy Breakpoint: Kod o'sha qatorga kelganda to'xtaydi.
- Conditional Breakpoint: Faqat ma'lum bir shart bajarilganda to'xtaydi (masalan,
i == 10). - Exception Breakpoint: Ilova crash bo'lishidan aynan bitta qadam oldin to'xtatadi. Foydali!
- Symbolic Breakpoint: Ma'lum bir metod chaqirilganda to'xtaydi (masalan,
UIView.layoutSubviews).
4. LLDB Debugger {#lldb}
Console'da yoziladigan buyruqlar:
po self.label.text: Obyektning tavsifini ko'rish (Print Object).p variableName: O’zgaruvchi qiymatini ko'rish.expression self.view.backgroundColor = .red: Kodni to'xtatgan joyda property'ni o'zgartirib ko'rish.bt: Call Stack'ni ko'rish (Backtrace).
5. View Debugger {#view-debugger}
UI elementlari bir-birining ostida qolib ketgan bo'lsa yoki noto'g'ri joylashsa, Debug View Hierarchy tugmasini bosing. Bu sizga butun UI ni 3D ko'rinishida aylantirib ko'rish imkonini beradi.
6. Instruments {#instruments}
Ilovaning performansini tekshirish:
- Time Profiler: CPU ni qaysi funksiya eng ko'p band qilayotganini topish.
- Allocations: Xotira sarfini (RAM) kuzatish.
- Leaks: Xotira oqishini (Memory Leaks) topish.
- Network: API so'rovlar vaqtini va hajmini tekshirish.
7. Memory Graph Debugger {#memory-graph}
Retain Cycle (ikkita obyekt bir-birini ushlab qolishi) bor yoki yo'qligini vizual ko'rish uchun mo'ljallangan. Agar birorta obyekt xotiradan o'chmayotgan bo'lsa, Memory Graph sizga uni kim "ushlab turganini" ko'rsatadi.
8. Xcode Previews {#previews}
SwiftUI da kod yozish bilan birga natijani ko'rish.
- Har xil qurilmalarni (iPhone, iPad, Apple Watch) bir vaqtda preview qilish.
- Dark/Light mode va turli tillarni (Localization) tekshirish.
9. Build Configuration {#build-config}
- Debug: Developer uchun. Ko'proq ma'lumot (logging) va sekinroq build.
- Release: App Store uchun. Maksimal darajada optimallangan kod.
- Environment Variables: Server URL manzillarini (
development_urlvsproduction_url) ajratib qo'yish.
10. Code Snippets va Templates {#snippets}
Tez-tez yozadigan kodingiz bo'lsa (masalan, UITableViewDataSource metodlari), ularni Code Snippet sifatida saqlang. Keyingi safar bir nechta harf bilan butun kod blokini chiqara olasiz.
11. Xulosa {#xulosa}
Yaxshi dasturchi nafaqat kod yozishni, balki xatolarni tezda topishni ham bilishi kerak.
- Shortcut'larni o'rganing, vaqtingizni tejang.
- LLDB va Instruments vositalaridan foydalaning.
- Crashlarni
Exception Breakpointbilan ushlashni o'rganing.
Vazifa: Bugun o'zingiz yozgan loyihada Time Profilerni ishga tushirib, CPU sarfini tahlil qiling! 🔍