Skip to content

Commit 7c7b63e

Browse files
committed
news list
1 parent 601c022 commit 7c7b63e

20 files changed

+1009
-79
lines changed

BlognoneDemo.xcodeproj/project.pbxproj

Lines changed: 85 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,24 @@
99
/* Begin PBXBuildFile section */
1010
3C9F497E1EFD4B02008AB676 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F497D1EFD4B02008AB676 /* AppDelegate.swift */; };
1111
3C9F49801EFD4B02008AB676 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F497F1EFD4B02008AB676 /* ViewController.swift */; };
12-
3C9F49831EFD4B02008AB676 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C9F49811EFD4B02008AB676 /* Main.storyboard */; };
1312
3C9F49851EFD4B02008AB676 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3C9F49841EFD4B02008AB676 /* Assets.xcassets */; };
1413
3C9F49881EFD4B02008AB676 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C9F49861EFD4B02008AB676 /* LaunchScreen.storyboard */; };
15-
3C9F49931EFD4B02008AB676 /* BlognoneDemoTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49921EFD4B02008AB676 /* BlognoneDemoTests.swift */; };
1614
3C9F499E1EFD4B02008AB676 /* BlognoneDemoUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F499D1EFD4B02008AB676 /* BlognoneDemoUITests.swift */; };
15+
3C9F49C21EFD4B80008AB676 /* NewsListConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49BB1EFD4B80008AB676 /* NewsListConfigurator.swift */; };
16+
3C9F49C31EFD4B80008AB676 /* NewsListInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49BC1EFD4B80008AB676 /* NewsListInteractor.swift */; };
17+
3C9F49C41EFD4B80008AB676 /* NewsListModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49BD1EFD4B80008AB676 /* NewsListModels.swift */; };
18+
3C9F49C51EFD4B80008AB676 /* NewsListPresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49BE1EFD4B80008AB676 /* NewsListPresenter.swift */; };
19+
3C9F49C61EFD4B80008AB676 /* NewsListRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49BF1EFD4B80008AB676 /* NewsListRouter.swift */; };
20+
3C9F49C71EFD4B80008AB676 /* NewsListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49C01EFD4B80008AB676 /* NewsListViewController.swift */; };
21+
3C9F49C81EFD4B80008AB676 /* NewsListWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49C11EFD4B80008AB676 /* NewsListWorker.swift */; };
22+
3C9F49CE1EFD4BBD008AB676 /* NewsList.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3C9F49CA1EFD4BBD008AB676 /* NewsList.storyboard */; };
23+
3C9F49CF1EFD4BBD008AB676 /* NewsListTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49CB1EFD4BBD008AB676 /* NewsListTableViewCell.swift */; };
24+
3C9F49D01EFD4BBD008AB676 /* NewsListTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3C9F49CC1EFD4BBD008AB676 /* NewsListTableViewCell.xib */; };
25+
3C9F49D31EFD51FA008AB676 /* News.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49D21EFD51FA008AB676 /* News.swift */; };
26+
3C9F49D81EFD7129008AB676 /* NewsListInteractorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49D41EFD7129008AB676 /* NewsListInteractorTests.swift */; };
27+
3C9F49D91EFD7129008AB676 /* NewsListPresenterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49D51EFD7129008AB676 /* NewsListPresenterTests.swift */; };
28+
3C9F49DA1EFD7129008AB676 /* NewsListViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49D61EFD7129008AB676 /* NewsListViewControllerTests.swift */; };
29+
3C9F49DB1EFD7129008AB676 /* NewsListWorkerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3C9F49D71EFD7129008AB676 /* NewsListWorkerTests.swift */; };
1730
/* End PBXBuildFile section */
1831

1932
/* Begin PBXContainerItemProxy section */
@@ -37,16 +50,29 @@
3750
3C9F497A1EFD4B02008AB676 /* BlognoneDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BlognoneDemo.app; sourceTree = BUILT_PRODUCTS_DIR; };
3851
3C9F497D1EFD4B02008AB676 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
3952
3C9F497F1EFD4B02008AB676 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
40-
3C9F49821EFD4B02008AB676 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
4153
3C9F49841EFD4B02008AB676 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
4254
3C9F49871EFD4B02008AB676 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
4355
3C9F49891EFD4B02008AB676 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
4456
3C9F498E1EFD4B02008AB676 /* BlognoneDemoTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BlognoneDemoTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
45-
3C9F49921EFD4B02008AB676 /* BlognoneDemoTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlognoneDemoTests.swift; sourceTree = "<group>"; };
4657
3C9F49941EFD4B02008AB676 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
4758
3C9F49991EFD4B02008AB676 /* BlognoneDemoUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BlognoneDemoUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
4859
3C9F499D1EFD4B02008AB676 /* BlognoneDemoUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlognoneDemoUITests.swift; sourceTree = "<group>"; };
4960
3C9F499F1EFD4B02008AB676 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
61+
3C9F49BB1EFD4B80008AB676 /* NewsListConfigurator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsListConfigurator.swift; sourceTree = "<group>"; };
62+
3C9F49BC1EFD4B80008AB676 /* NewsListInteractor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsListInteractor.swift; sourceTree = "<group>"; };
63+
3C9F49BD1EFD4B80008AB676 /* NewsListModels.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsListModels.swift; sourceTree = "<group>"; };
64+
3C9F49BE1EFD4B80008AB676 /* NewsListPresenter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsListPresenter.swift; sourceTree = "<group>"; };
65+
3C9F49BF1EFD4B80008AB676 /* NewsListRouter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsListRouter.swift; sourceTree = "<group>"; };
66+
3C9F49C01EFD4B80008AB676 /* NewsListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsListViewController.swift; sourceTree = "<group>"; };
67+
3C9F49C11EFD4B80008AB676 /* NewsListWorker.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsListWorker.swift; sourceTree = "<group>"; };
68+
3C9F49CA1EFD4BBD008AB676 /* NewsList.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = NewsList.storyboard; sourceTree = "<group>"; };
69+
3C9F49CB1EFD4BBD008AB676 /* NewsListTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsListTableViewCell.swift; sourceTree = "<group>"; };
70+
3C9F49CC1EFD4BBD008AB676 /* NewsListTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NewsListTableViewCell.xib; sourceTree = "<group>"; };
71+
3C9F49D21EFD51FA008AB676 /* News.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = News.swift; sourceTree = "<group>"; };
72+
3C9F49D41EFD7129008AB676 /* NewsListInteractorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsListInteractorTests.swift; sourceTree = "<group>"; };
73+
3C9F49D51EFD7129008AB676 /* NewsListPresenterTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsListPresenterTests.swift; sourceTree = "<group>"; };
74+
3C9F49D61EFD7129008AB676 /* NewsListViewControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsListViewControllerTests.swift; sourceTree = "<group>"; };
75+
3C9F49D71EFD7129008AB676 /* NewsListWorkerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NewsListWorkerTests.swift; sourceTree = "<group>"; };
5076
/* End PBXFileReference section */
5177

5278
/* Begin PBXFrameworksBuildPhase section */
@@ -97,9 +123,9 @@
97123
3C9F497C1EFD4B02008AB676 /* BlognoneDemo */ = {
98124
isa = PBXGroup;
99125
children = (
126+
3C9F49AB1EFD4B30008AB676 /* Feature */,
100127
3C9F497D1EFD4B02008AB676 /* AppDelegate.swift */,
101128
3C9F497F1EFD4B02008AB676 /* ViewController.swift */,
102-
3C9F49811EFD4B02008AB676 /* Main.storyboard */,
103129
3C9F49841EFD4B02008AB676 /* Assets.xcassets */,
104130
3C9F49861EFD4B02008AB676 /* LaunchScreen.storyboard */,
105131
3C9F49891EFD4B02008AB676 /* Info.plist */,
@@ -110,8 +136,11 @@
110136
3C9F49911EFD4B02008AB676 /* BlognoneDemoTests */ = {
111137
isa = PBXGroup;
112138
children = (
113-
3C9F49921EFD4B02008AB676 /* BlognoneDemoTests.swift */,
114139
3C9F49941EFD4B02008AB676 /* Info.plist */,
140+
3C9F49D41EFD7129008AB676 /* NewsListInteractorTests.swift */,
141+
3C9F49D51EFD7129008AB676 /* NewsListPresenterTests.swift */,
142+
3C9F49D61EFD7129008AB676 /* NewsListViewControllerTests.swift */,
143+
3C9F49D71EFD7129008AB676 /* NewsListWorkerTests.swift */,
115144
);
116145
path = BlognoneDemoTests;
117146
sourceTree = "<group>";
@@ -125,6 +154,41 @@
125154
path = BlognoneDemoUITests;
126155
sourceTree = "<group>";
127156
};
157+
3C9F49AB1EFD4B30008AB676 /* Feature */ = {
158+
isa = PBXGroup;
159+
children = (
160+
3C9F49AC1EFD4B30008AB676 /* NewsList */,
161+
3C9F49D21EFD51FA008AB676 /* News.swift */,
162+
);
163+
path = Feature;
164+
sourceTree = "<group>";
165+
};
166+
3C9F49AC1EFD4B30008AB676 /* NewsList */ = {
167+
isa = PBXGroup;
168+
children = (
169+
3C9F49C91EFD4BAA008AB676 /* UI */,
170+
3C9F49BB1EFD4B80008AB676 /* NewsListConfigurator.swift */,
171+
3C9F49BC1EFD4B80008AB676 /* NewsListInteractor.swift */,
172+
3C9F49BD1EFD4B80008AB676 /* NewsListModels.swift */,
173+
3C9F49BE1EFD4B80008AB676 /* NewsListPresenter.swift */,
174+
3C9F49BF1EFD4B80008AB676 /* NewsListRouter.swift */,
175+
3C9F49C01EFD4B80008AB676 /* NewsListViewController.swift */,
176+
3C9F49C11EFD4B80008AB676 /* NewsListWorker.swift */,
177+
);
178+
name = NewsList;
179+
path = NewListing;
180+
sourceTree = "<group>";
181+
};
182+
3C9F49C91EFD4BAA008AB676 /* UI */ = {
183+
isa = PBXGroup;
184+
children = (
185+
3C9F49CA1EFD4BBD008AB676 /* NewsList.storyboard */,
186+
3C9F49CB1EFD4BBD008AB676 /* NewsListTableViewCell.swift */,
187+
3C9F49CC1EFD4BBD008AB676 /* NewsListTableViewCell.xib */,
188+
);
189+
path = UI;
190+
sourceTree = "<group>";
191+
};
128192
/* End PBXGroup section */
129193

130194
/* Begin PBXNativeTarget section */
@@ -235,9 +299,10 @@
235299
isa = PBXResourcesBuildPhase;
236300
buildActionMask = 2147483647;
237301
files = (
302+
3C9F49D01EFD4BBD008AB676 /* NewsListTableViewCell.xib in Resources */,
238303
3C9F49881EFD4B02008AB676 /* LaunchScreen.storyboard in Resources */,
239304
3C9F49851EFD4B02008AB676 /* Assets.xcassets in Resources */,
240-
3C9F49831EFD4B02008AB676 /* Main.storyboard in Resources */,
305+
3C9F49CE1EFD4BBD008AB676 /* NewsList.storyboard in Resources */,
241306
);
242307
runOnlyForDeploymentPostprocessing = 0;
243308
};
@@ -262,16 +327,28 @@
262327
isa = PBXSourcesBuildPhase;
263328
buildActionMask = 2147483647;
264329
files = (
330+
3C9F49C21EFD4B80008AB676 /* NewsListConfigurator.swift in Sources */,
331+
3C9F49C81EFD4B80008AB676 /* NewsListWorker.swift in Sources */,
265332
3C9F49801EFD4B02008AB676 /* ViewController.swift in Sources */,
333+
3C9F49C61EFD4B80008AB676 /* NewsListRouter.swift in Sources */,
266334
3C9F497E1EFD4B02008AB676 /* AppDelegate.swift in Sources */,
335+
3C9F49C31EFD4B80008AB676 /* NewsListInteractor.swift in Sources */,
336+
3C9F49D31EFD51FA008AB676 /* News.swift in Sources */,
337+
3C9F49CF1EFD4BBD008AB676 /* NewsListTableViewCell.swift in Sources */,
338+
3C9F49C41EFD4B80008AB676 /* NewsListModels.swift in Sources */,
339+
3C9F49C51EFD4B80008AB676 /* NewsListPresenter.swift in Sources */,
340+
3C9F49C71EFD4B80008AB676 /* NewsListViewController.swift in Sources */,
267341
);
268342
runOnlyForDeploymentPostprocessing = 0;
269343
};
270344
3C9F498A1EFD4B02008AB676 /* Sources */ = {
271345
isa = PBXSourcesBuildPhase;
272346
buildActionMask = 2147483647;
273347
files = (
274-
3C9F49931EFD4B02008AB676 /* BlognoneDemoTests.swift in Sources */,
348+
3C9F49DA1EFD7129008AB676 /* NewsListViewControllerTests.swift in Sources */,
349+
3C9F49D91EFD7129008AB676 /* NewsListPresenterTests.swift in Sources */,
350+
3C9F49DB1EFD7129008AB676 /* NewsListWorkerTests.swift in Sources */,
351+
3C9F49D81EFD7129008AB676 /* NewsListInteractorTests.swift in Sources */,
275352
);
276353
runOnlyForDeploymentPostprocessing = 0;
277354
};
@@ -299,14 +376,6 @@
299376
/* End PBXTargetDependency section */
300377

301378
/* Begin PBXVariantGroup section */
302-
3C9F49811EFD4B02008AB676 /* Main.storyboard */ = {
303-
isa = PBXVariantGroup;
304-
children = (
305-
3C9F49821EFD4B02008AB676 /* Base */,
306-
);
307-
name = Main.storyboard;
308-
sourceTree = "<group>";
309-
};
310379
3C9F49861EFD4B02008AB676 /* LaunchScreen.storyboard */ = {
311380
isa = PBXVariantGroup;
312381
children = (

BlognoneDemo.xcodeproj/xcuserdata/suraphan.l.xcuserdatad/xcschemes/BlognoneDemo.xcscheme

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,59 @@
55
<BuildAction
66
parallelizeBuildables = "YES"
77
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "3C9F49791EFD4B02008AB676"
18+
BuildableName = "BlognoneDemo.app"
19+
BlueprintName = "BlognoneDemo"
20+
ReferencedContainer = "container:BlognoneDemo.xcodeproj">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
</BuildActionEntries>
824
</BuildAction>
925
<TestAction
1026
buildConfiguration = "Debug"
1127
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
1228
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
1329
shouldUseLaunchSchemeArgsEnv = "YES">
1430
<Testables>
31+
<TestableReference
32+
skipped = "NO">
33+
<BuildableReference
34+
BuildableIdentifier = "primary"
35+
BlueprintIdentifier = "3C9F498D1EFD4B02008AB676"
36+
BuildableName = "BlognoneDemoTests.xctest"
37+
BlueprintName = "BlognoneDemoTests"
38+
ReferencedContainer = "container:BlognoneDemo.xcodeproj">
39+
</BuildableReference>
40+
</TestableReference>
41+
<TestableReference
42+
skipped = "NO">
43+
<BuildableReference
44+
BuildableIdentifier = "primary"
45+
BlueprintIdentifier = "3C9F49981EFD4B02008AB676"
46+
BuildableName = "BlognoneDemoUITests.xctest"
47+
BlueprintName = "BlognoneDemoUITests"
48+
ReferencedContainer = "container:BlognoneDemo.xcodeproj">
49+
</BuildableReference>
50+
</TestableReference>
1551
</Testables>
52+
<MacroExpansion>
53+
<BuildableReference
54+
BuildableIdentifier = "primary"
55+
BlueprintIdentifier = "3C9F49791EFD4B02008AB676"
56+
BuildableName = "BlognoneDemo.app"
57+
BlueprintName = "BlognoneDemo"
58+
ReferencedContainer = "container:BlognoneDemo.xcodeproj">
59+
</BuildableReference>
60+
</MacroExpansion>
1661
<AdditionalOptions>
1762
</AdditionalOptions>
1863
</TestAction>
@@ -26,6 +71,16 @@
2671
debugDocumentVersioning = "YES"
2772
debugServiceExtension = "internal"
2873
allowLocationSimulation = "YES">
74+
<BuildableProductRunnable
75+
runnableDebuggingMode = "0">
76+
<BuildableReference
77+
BuildableIdentifier = "primary"
78+
BlueprintIdentifier = "3C9F49791EFD4B02008AB676"
79+
BuildableName = "BlognoneDemo.app"
80+
BlueprintName = "BlognoneDemo"
81+
ReferencedContainer = "container:BlognoneDemo.xcodeproj">
82+
</BuildableReference>
83+
</BuildableProductRunnable>
2984
<AdditionalOptions>
3085
</AdditionalOptions>
3186
</LaunchAction>
@@ -35,6 +90,16 @@
3590
savedToolIdentifier = ""
3691
useCustomWorkingDirectory = "NO"
3792
debugDocumentVersioning = "YES">
93+
<BuildableProductRunnable
94+
runnableDebuggingMode = "0">
95+
<BuildableReference
96+
BuildableIdentifier = "primary"
97+
BlueprintIdentifier = "3C9F49791EFD4B02008AB676"
98+
BuildableName = "BlognoneDemo.app"
99+
BlueprintName = "BlognoneDemo"
100+
ReferencedContainer = "container:BlognoneDemo.xcodeproj">
101+
</BuildableReference>
102+
</BuildableProductRunnable>
38103
</ProfileAction>
39104
<AnalyzeAction
40105
buildConfiguration = "Debug">

BlognoneDemo/Base.lproj/Main.storyboard

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)