Skip to content

Convert sample app from Objective-C to Swift - #34

Open
mrbiggred wants to merge 3 commits into
mainfrom
feature/convert-sample-app-to-swift
Open

mrbiggred wants to merge 3 commits into
mainfrom
feature/convert-sample-app-to-swift

Conversation

@mrbiggred

Copy link
Copy Markdown
Member

Transition the sample app to Swift by replacing Objective-C files with their Swift counterparts. This includes implementing a Swift @main AppDelegate, converting view controllers, and utilizing a typed weak delegate protocol for animation selection. Additionally, set custom modules on storyboard scenes for proper class resolution.

- Replace main.m and AppDelegate with a Swift @main AppDelegate
- Port BEMMainViewController, BEMAnimationsTableViewController and
  BEMCurrentSetupTableViewController to Swift
- Use a typed weak delegate protocol for animation selection
- Set customModule on storyboard scenes so Swift classes resolve
@mrbiggred
mrbiggred requested a balanced review from Copilot September 24, 2026 02:50
@mrbiggred mrbiggred self-assigned this Sep 24, 2026
@mrbiggred mrbiggred added this to the v2.2.0 milestone Sep 24, 2026

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The Swift conversion preserves existing behavior and correctly updates storyboard and build-target integration.

Review effort: Balanced
Findings: None

What changed in this PR

Converts the sample application from Objective-C to Swift while preserving its checkbox configuration and navigation behavior.

Changes:

  • Replaces the app delegate and view controllers with Swift implementations.
  • Adds a typed weak animation-selection delegate.
  • Updates storyboard modules and Xcode source references.
File Description
Sample Project/​CheckBox/​main.m Removes the Objective-C entry point.
Sample Project/​CheckBox/​AppDelegate.h Removes the Objective-C declaration.
Sample Project/​CheckBox/​AppDelegate.m Removes the Objective-C implementation.
Sample Project/​CheckBox/​AppDelegate.swift Adds the Swift @main app delegate.
Sample Project/​CheckBox/​BEMMainViewController.h Removes the Objective-C declaration.
Sample Project/​CheckBox/​BEMMainViewController.m Removes the Objective-C implementation.
Sample Project/​CheckBox/​BEMMainViewController.swift Ports checkbox controls and navigation to Swift.
Sample Project/​CheckBox/​BEMAnimationsTableViewController.h Removes the Objective-C declaration.
Sample Project/​CheckBox/​BEMAnimationsTableViewController.m Removes the Objective-C implementation.
Sample Project/​CheckBox/​BEMAnimationsTableViewController.swift Ports animation selection with a typed delegate.
Sample Project/​CheckBox/​BEMCurrentSetupTableViewController.h Removes the Objective-C declaration.
Sample Project/​CheckBox/​BEMCurrentSetupTableViewController.m Removes the Objective-C implementation.
Sample Project/​CheckBox/​BEMCurrentSetupTableViewController.swift Ports current-configuration display logic.
Sample Project/​CheckBox/​Base.lproj/​Main.storyboard Assigns Swift classes to the app module.
Sample Project/​CheckBox.xcodeproj/​project.pbxproj Replaces Objective-C source references with Swift files.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@mrbiggred mrbiggred modified the milestones: v2.2.0, v2.3.0 Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants