tezvyn:

iOS & Swift

SwiftUI, UIKit, Xcode, Swift language, Apple platforms

309 bites

More in iOS & Swift — page 5

iOS & Swift88 sec read

Explain UIKit MVC and the Massive View Controller problem

WHAT IT TESTS: understanding UIKit's core pattern and its pitfall. OUTLINE: Model holds data, View displays it, Controller mediates between them; the view controller accretes networking, parsing, and logic into a Massive View Controller.

iOS & Swift73 sec read

Describe the iOS app lifecycle and SceneDelegate methods

WHAT IT TESTS: knowledge of app and scene states. OUTLINE: not running, inactive, active, background, suspended; SceneDelegate handles sceneDidBecomeActive, sceneWillResignActive, sceneDidEnterBackground, sceneWillEnterForeground.

iOS & Swift87 sec read

How do you build a custom SwiftUI Layout?

WHAT IT TESTS: SwiftUI's Layout protocol for bespoke arrangements. OUTLINE: conform to Layout, implement sizeThatFits to report the container size for a proposal, and placeSubviews to position each subview using its measured size.

iOS & Swift86 sec read

How does Auto Layout resolve constraints?

WHAT IT TESTS: understanding constraint-based layout. OUTLINE: Auto Layout solves a system of prioritized linear equations; intrinsicContentSize is a view's natural size; hugging resists growing, compression resistance resists shrinking.

iOS & Swift77 sec read

What is @autoclosure and when is it useful?

WHAT IT TESTS: understanding deferred, lazy evaluation. OUTLINE: @autoclosure wraps an argument expression in a closure so it evaluates lazily only if used, enabling clean APIs like assert and the ?? operator.

iOS & Swift82 sec read

Why can't you subscript a Swift String with an Int?

WHAT IT TESTS: understanding Unicode-correct strings. OUTLINE: Characters are extended grapheme clusters of variable byte width, so integer offsets are not O(1) or meaningful; String.Index is an opaque position you advance via the collection.

iOS & Swift76 sec read

How does Swift's switch differ from C's switch?

WHAT IT TESTS: understanding Swift's safer control flow. OUTLINE: switches must be exhaustive, there is no implicit fallthrough between cases, and cases can match ranges, tuples, and bind values.

iOS & Swift84 sec read

Test Plans (XCTestPlan)

A Test Plan is an Xcode configuration file decoupling which tests run from how they run, letting one scheme execute many configurations: localizations, sanitizers, randomized order, and repetition, all without editing the scheme.

Describe lightweight vs heavyweight Core Data migration and a heavyweight example
iOS & Swift2 min read

Describe lightweight vs heavyweight Core Data migration and a heavyweight example

This tests inferred versus manual Core Data migrations. Contrast lightweight additive changes with heavyweight transforms like entity splits, citing promoting a string to a new entity. A red flag is claiming renames always need custom mapping.

Describe a pattern for background Core Data fetches and UI updates
iOS & Swift2 min read

Describe a pattern for background Core Data fetches and UI updates

This tests NSManagedObjectContext concurrency and queue confinement. Strong answer: create a background context, fetch, pass objectIDs or structs to main, then main context fetches by ID to update UI. Red flag: passing NSManagedObjects across threads.

How do you persist a custom Swift struct to JSON in Documents?
iOS & Swift2 min read

How do you persist a custom Swift struct to JSON in Documents?

Tests fluency with Codable and FileManager sandbox APIs. Good answer: conform to Codable, encode with JSONEncoder, resolve Documents directory via FileManager URLs, write Data atomically, and reverse with JSONDecoder.

When is UserDefaults right, what are its limits, and native types?
iOS & Swift2 min read

When is UserDefaults right, what are its limits, and native types?

Tests if you treat UserDefaults as a small preference store, not a database. Good answers name native plist types, cite no encryption and small size limits, and name Core Data or Keychain for heavy or sensitive data. Red flag: storing images or passwords.

Design state-driven navigation for a conditional wizard in UIKit and SwiftUI
iOS & Swift2 min read

Design state-driven navigation for a conditional wizard in UIKit and SwiftUI

This tests separating navigation state from UI. Model the flow as a state machine enum, derive the stack from state, and unit test transitions in plain Swift. A red flag is imperative pushes inside views or view controllers.

How would you architect the app root for onboarding vs authenticated flows?
iOS & Swift2 min read

How would you architect the app root for onboarding vs authenticated flows?

Tests window root swapping and state-driven architecture. Use a coordinator to own the window, swap rootViewController between nav and tab controllers on auth changes, and crossfade. Red flag: onboarding modal over tabs or keeping both hierarchies alive.

What NavigationView limitations did NavigationStack solve for programmatic navigation?
iOS & Swift2 min read

What NavigationView limitations did NavigationStack solve for programmatic navigation?

This tests why NavigationView programmatic navigation was brittle. A strong answer contrasts scattered NavigationLink isActive booleans and broken multi-destination stacks against NavigationStack's unified path array. A red flag is calling it a simple rename.

How do you pop to root in SwiftUI NavigationStack?
iOS & Swift2 min read

How do you pop to root in SwiftUI NavigationStack?

This tests declarative state-driven navigation. A strong answer binds NavigationStack to a NavigationPath, passes the binding down, and clears the path to pop to root. A red flag is suggesting UIKit popToRootViewController or legacy isActive hacks.

Handle a deep link URL in SceneDelegate and navigate to order detail.
iOS & Swift2 min read

Handle a deep link URL in SceneDelegate and navigate to order detail.

WHAT IT TESTS: iOS scene-based deep links. ANSWER: Handles willConnectTo and openURLContexts; parses path with URLComponents; validates ID; pushes detail onto nav stack. RED FLAG: Forgetting warm launches or routing without checking view hierarchy.

Pass data back from a modally presented view controller delegate versus closure
iOS & Swift2 min read

Pass data back from a modally presented view controller delegate versus closure

This tests decoupled UIKit communication and memory safety. A strong answer outlines a weak delegate protocol and a closure with weak self, contrasting coupling and retain cycles. Red flag: singletons or direct parent references.

Explain the Coordinator pattern and the navigation problem it solves in MVC
iOS & Swift2 min read

Explain the Coordinator pattern and the navigation problem it solves in MVC

This tests if you see view controllers bloat from absorbing navigation flow. A good answer names 3 problems (delegate bloat, massive view controllers, embedded routing) and says coordinators own creation and routing.

Implement SwiftUI navigation between list and detail with product ID
iOS & Swift2 min read

Implement SwiftUI navigation between list and detail with product ID

Tests modern SwiftUI navigation and clean data flow. Great answer: NavigationStack with NavigationLink(value:) and navigationDestination(for:), plus a bound path for programmatic control.