From e1829bb03dfcdb9a5eba98946c546e4c04018701 Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Sat, 16 Mar 2024 01:26:20 +0100 Subject: [PATCH] Moved the FeedViewController and DetailsViewController view controllers, the ReviewCell cell, and the Review model from the App target to the Feed framework. --- .../Feed}/Sources/DetailsViewController.swift | 0 .../Feed}/Sources/FeedViewController.swift | 18 ++++++++--- {App => Frameworks/Feed}/Sources/Review.swift | 0 .../Feed}/Sources/ReviewCell.swift | 0 Reviews.xcodeproj/project.pbxproj | 32 ++++++++++++------- 5 files changed, 33 insertions(+), 17 deletions(-) rename {App => Frameworks/Feed}/Sources/DetailsViewController.swift (100%) rename {App => Frameworks/Feed}/Sources/FeedViewController.swift (75%) rename {App => Frameworks/Feed}/Sources/Review.swift (100%) rename {App => Frameworks/Feed}/Sources/ReviewCell.swift (100%) diff --git a/App/Sources/DetailsViewController.swift b/Frameworks/Feed/Sources/DetailsViewController.swift similarity index 100% rename from App/Sources/DetailsViewController.swift rename to Frameworks/Feed/Sources/DetailsViewController.swift diff --git a/App/Sources/FeedViewController.swift b/Frameworks/Feed/Sources/FeedViewController.swift similarity index 75% rename from App/Sources/FeedViewController.swift rename to Frameworks/Feed/Sources/FeedViewController.swift index ccbc496..96db814 100644 --- a/App/Sources/FeedViewController.swift +++ b/Frameworks/Feed/Sources/FeedViewController.swift @@ -8,25 +8,33 @@ import UIKit -class FeedViewController: UITableViewController { +public class FeedViewController: UITableViewController { - override func viewDidLoad() { + public init() { + super.init(style: .plain) + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + public override func viewDidLoad() { super.viewDidLoad() tableView.register(ReviewCell.self, forCellReuseIdentifier: "cellId") tableView.rowHeight = 160 } - override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + public override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 100 } - override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + public override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let c = tableView.dequeueReusableCell(withIdentifier: "cellId", for: indexPath) as! ReviewCell c.update(item: randomReview()) return c } - override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + public override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { tableView.deselectRow(at: indexPath, animated: true) let vc = DetailsViewController(review: randomReview()) navigationController!.pushViewController(vc, animated: true) diff --git a/App/Sources/Review.swift b/Frameworks/Feed/Sources/Review.swift similarity index 100% rename from App/Sources/Review.swift rename to Frameworks/Feed/Sources/Review.swift diff --git a/App/Sources/ReviewCell.swift b/Frameworks/Feed/Sources/ReviewCell.swift similarity index 100% rename from App/Sources/ReviewCell.swift rename to Frameworks/Feed/Sources/ReviewCell.swift diff --git a/Reviews.xcodeproj/project.pbxproj b/Reviews.xcodeproj/project.pbxproj index 2de82cf..0c43e56 100644 --- a/Reviews.xcodeproj/project.pbxproj +++ b/Reviews.xcodeproj/project.pbxproj @@ -10,13 +10,13 @@ 02DC7F9F2BA51793000EEEBE /* ReviewsFeed.h in Headers */ = {isa = PBXBuildFile; fileRef = 02DC7F912BA51793000EEEBE /* ReviewsFeed.h */; settings = {ATTRIBUTES = (Public, ); }; }; 02DC7FA22BA51793000EEEBE /* ReviewsFeed.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 02DC7F8F2BA51793000EEEBE /* ReviewsFeed.framework */; }; 02DC7FA32BA51793000EEEBE /* ReviewsFeed.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 02DC7F8F2BA51793000EEEBE /* ReviewsFeed.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 02DC7FAC2BA51B4C000EEEBE /* DetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD13224C6EE64004E2EE1 /* DetailsViewController.swift */; }; + 02DC7FAD2BA51B4C000EEEBE /* ReviewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD13024C6EE64004E2EE1 /* ReviewCell.swift */; }; + 02DC7FAE2BA51B4C000EEEBE /* FeedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD12F24C6EE64004E2EE1 /* FeedViewController.swift */; }; + 02DC7FAF2BA51B4C000EEEBE /* Review.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD13124C6EE64004E2EE1 /* Review.swift */; }; 345AD11C24C6EDD9004E2EE1 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD11B24C6EDD9004E2EE1 /* AppDelegate.swift */; }; 345AD12524C6EDDC004E2EE1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 345AD12424C6EDDC004E2EE1 /* Assets.xcassets */; }; 345AD12824C6EDDC004E2EE1 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 345AD12624C6EDDC004E2EE1 /* LaunchScreen.storyboard */; }; - 345AD13324C6EE64004E2EE1 /* FeedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD12F24C6EE64004E2EE1 /* FeedViewController.swift */; }; - 345AD13424C6EE64004E2EE1 /* ReviewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD13024C6EE64004E2EE1 /* ReviewCell.swift */; }; - 345AD13524C6EE64004E2EE1 /* Review.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD13124C6EE64004E2EE1 /* Review.swift */; }; - 345AD13624C6EE64004E2EE1 /* DetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 345AD13224C6EE64004E2EE1 /* DetailsViewController.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -97,10 +97,6 @@ 02DC7F742BA4F93B000EEEBE /* Sources */ = { isa = PBXGroup; children = ( - 345AD13224C6EE64004E2EE1 /* DetailsViewController.swift */, - 345AD12F24C6EE64004E2EE1 /* FeedViewController.swift */, - 345AD13124C6EE64004E2EE1 /* Review.swift */, - 345AD13024C6EE64004E2EE1 /* ReviewCell.swift */, 345AD11B24C6EDD9004E2EE1 /* AppDelegate.swift */, ); path = Sources; @@ -126,6 +122,7 @@ isa = PBXGroup; children = ( 02DC7F912BA51793000EEEBE /* ReviewsFeed.h */, + 02DC7FB02BA51B4F000EEEBE /* Sources */, ); path = Feed; sourceTree = ""; @@ -138,6 +135,17 @@ path = Frameworks; sourceTree = ""; }; + 02DC7FB02BA51B4F000EEEBE /* Sources */ = { + isa = PBXGroup; + children = ( + 345AD13224C6EE64004E2EE1 /* DetailsViewController.swift */, + 345AD12F24C6EE64004E2EE1 /* FeedViewController.swift */, + 345AD13124C6EE64004E2EE1 /* Review.swift */, + 345AD13024C6EE64004E2EE1 /* ReviewCell.swift */, + ); + path = Sources; + sourceTree = ""; + }; 345AD10F24C6EDD9004E2EE1 = { isa = PBXGroup; children = ( @@ -278,6 +286,10 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 02DC7FAC2BA51B4C000EEEBE /* DetailsViewController.swift in Sources */, + 02DC7FAF2BA51B4C000EEEBE /* Review.swift in Sources */, + 02DC7FAE2BA51B4C000EEEBE /* FeedViewController.swift in Sources */, + 02DC7FAD2BA51B4C000EEEBE /* ReviewCell.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -285,11 +297,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 345AD13524C6EE64004E2EE1 /* Review.swift in Sources */, - 345AD13424C6EE64004E2EE1 /* ReviewCell.swift in Sources */, - 345AD13324C6EE64004E2EE1 /* FeedViewController.swift in Sources */, 345AD11C24C6EDD9004E2EE1 /* AppDelegate.swift in Sources */, - 345AD13624C6EE64004E2EE1 /* DetailsViewController.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; };