Skip to content

Commit 79b25c8

Browse files
committed
yet still even more additional example code from the first book
1 parent 46da98b commit 79b25c8

File tree

27 files changed

+1802
-0
lines changed

27 files changed

+1802
-0
lines changed
Lines changed: 304 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,304 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 46;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
32B16ECF1AFEA10F00E98CCB /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B16ECE1AFEA10F00E98CCB /* AppDelegate.swift */; };
11+
32B16ED11AFEA10F00E98CCB /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B16ED01AFEA10F00E98CCB /* ViewController.swift */; };
12+
32B16ED41AFEA10F00E98CCB /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 32B16ED21AFEA10F00E98CCB /* Main.storyboard */; };
13+
32B16ED61AFEA10F00E98CCB /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 32B16ED51AFEA10F00E98CCB /* Images.xcassets */; };
14+
32B16ED91AFEA10F00E98CCB /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 32B16ED71AFEA10F00E98CCB /* LaunchScreen.xib */; };
15+
32B16EEF1AFEA14700E98CCB /* MyHorizLine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B16EEE1AFEA14700E98CCB /* MyHorizLine.swift */; };
16+
32B16EF11AFEA1DA00E98CCB /* MyBoundedLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 32B16EF01AFEA1DA00E98CCB /* MyBoundedLabel.swift */; };
17+
/* End PBXBuildFile section */
18+
19+
/* Begin PBXFileReference section */
20+
32B16EC91AFEA10F00E98CCB /* bk1ch10p418subclassing.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = bk1ch10p418subclassing.app; sourceTree = BUILT_PRODUCTS_DIR; };
21+
32B16ECD1AFEA10F00E98CCB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
22+
32B16ECE1AFEA10F00E98CCB /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
23+
32B16ED01AFEA10F00E98CCB /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
24+
32B16ED31AFEA10F00E98CCB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
25+
32B16ED51AFEA10F00E98CCB /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
26+
32B16ED81AFEA10F00E98CCB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
27+
32B16EEE1AFEA14700E98CCB /* MyHorizLine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyHorizLine.swift; sourceTree = "<group>"; };
28+
32B16EF01AFEA1DA00E98CCB /* MyBoundedLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyBoundedLabel.swift; sourceTree = "<group>"; };
29+
/* End PBXFileReference section */
30+
31+
/* Begin PBXFrameworksBuildPhase section */
32+
32B16EC61AFEA10F00E98CCB /* Frameworks */ = {
33+
isa = PBXFrameworksBuildPhase;
34+
buildActionMask = 2147483647;
35+
files = (
36+
);
37+
runOnlyForDeploymentPostprocessing = 0;
38+
};
39+
/* End PBXFrameworksBuildPhase section */
40+
41+
/* Begin PBXGroup section */
42+
32B16EC01AFEA10F00E98CCB = {
43+
isa = PBXGroup;
44+
children = (
45+
32B16ECB1AFEA10F00E98CCB /* bk1ch10p418subclassing */,
46+
32B16ECA1AFEA10F00E98CCB /* Products */,
47+
);
48+
sourceTree = "<group>";
49+
};
50+
32B16ECA1AFEA10F00E98CCB /* Products */ = {
51+
isa = PBXGroup;
52+
children = (
53+
32B16EC91AFEA10F00E98CCB /* bk1ch10p418subclassing.app */,
54+
);
55+
name = Products;
56+
sourceTree = "<group>";
57+
};
58+
32B16ECB1AFEA10F00E98CCB /* bk1ch10p418subclassing */ = {
59+
isa = PBXGroup;
60+
children = (
61+
32B16ECE1AFEA10F00E98CCB /* AppDelegate.swift */,
62+
32B16ED01AFEA10F00E98CCB /* ViewController.swift */,
63+
32B16EEE1AFEA14700E98CCB /* MyHorizLine.swift */,
64+
32B16EF01AFEA1DA00E98CCB /* MyBoundedLabel.swift */,
65+
32B16ED21AFEA10F00E98CCB /* Main.storyboard */,
66+
32B16ED51AFEA10F00E98CCB /* Images.xcassets */,
67+
32B16ED71AFEA10F00E98CCB /* LaunchScreen.xib */,
68+
32B16ECC1AFEA10F00E98CCB /* Supporting Files */,
69+
);
70+
path = bk1ch10p418subclassing;
71+
sourceTree = "<group>";
72+
};
73+
32B16ECC1AFEA10F00E98CCB /* Supporting Files */ = {
74+
isa = PBXGroup;
75+
children = (
76+
32B16ECD1AFEA10F00E98CCB /* Info.plist */,
77+
);
78+
name = "Supporting Files";
79+
sourceTree = "<group>";
80+
};
81+
/* End PBXGroup section */
82+
83+
/* Begin PBXNativeTarget section */
84+
32B16EC81AFEA10F00E98CCB /* bk1ch10p418subclassing */ = {
85+
isa = PBXNativeTarget;
86+
buildConfigurationList = 32B16EE81AFEA10F00E98CCB /* Build configuration list for PBXNativeTarget "bk1ch10p418subclassing" */;
87+
buildPhases = (
88+
32B16EC51AFEA10F00E98CCB /* Sources */,
89+
32B16EC61AFEA10F00E98CCB /* Frameworks */,
90+
32B16EC71AFEA10F00E98CCB /* Resources */,
91+
);
92+
buildRules = (
93+
);
94+
dependencies = (
95+
);
96+
name = bk1ch10p418subclassing;
97+
productName = bk1ch10p418subclassing;
98+
productReference = 32B16EC91AFEA10F00E98CCB /* bk1ch10p418subclassing.app */;
99+
productType = "com.apple.product-type.application";
100+
};
101+
/* End PBXNativeTarget section */
102+
103+
/* Begin PBXProject section */
104+
32B16EC11AFEA10F00E98CCB /* Project object */ = {
105+
isa = PBXProject;
106+
attributes = {
107+
LastUpgradeCheck = 0630;
108+
ORGANIZATIONNAME = "Matt Neuburg";
109+
TargetAttributes = {
110+
32B16EC81AFEA10F00E98CCB = {
111+
CreatedOnToolsVersion = 6.3.1;
112+
};
113+
};
114+
};
115+
buildConfigurationList = 32B16EC41AFEA10F00E98CCB /* Build configuration list for PBXProject "bk1ch10p418subclassing" */;
116+
compatibilityVersion = "Xcode 3.2";
117+
developmentRegion = English;
118+
hasScannedForEncodings = 0;
119+
knownRegions = (
120+
en,
121+
Base,
122+
);
123+
mainGroup = 32B16EC01AFEA10F00E98CCB;
124+
productRefGroup = 32B16ECA1AFEA10F00E98CCB /* Products */;
125+
projectDirPath = "";
126+
projectRoot = "";
127+
targets = (
128+
32B16EC81AFEA10F00E98CCB /* bk1ch10p418subclassing */,
129+
);
130+
};
131+
/* End PBXProject section */
132+
133+
/* Begin PBXResourcesBuildPhase section */
134+
32B16EC71AFEA10F00E98CCB /* Resources */ = {
135+
isa = PBXResourcesBuildPhase;
136+
buildActionMask = 2147483647;
137+
files = (
138+
32B16ED41AFEA10F00E98CCB /* Main.storyboard in Resources */,
139+
32B16ED91AFEA10F00E98CCB /* LaunchScreen.xib in Resources */,
140+
32B16ED61AFEA10F00E98CCB /* Images.xcassets in Resources */,
141+
);
142+
runOnlyForDeploymentPostprocessing = 0;
143+
};
144+
/* End PBXResourcesBuildPhase section */
145+
146+
/* Begin PBXSourcesBuildPhase section */
147+
32B16EC51AFEA10F00E98CCB /* Sources */ = {
148+
isa = PBXSourcesBuildPhase;
149+
buildActionMask = 2147483647;
150+
files = (
151+
32B16EEF1AFEA14700E98CCB /* MyHorizLine.swift in Sources */,
152+
32B16ED11AFEA10F00E98CCB /* ViewController.swift in Sources */,
153+
32B16EF11AFEA1DA00E98CCB /* MyBoundedLabel.swift in Sources */,
154+
32B16ECF1AFEA10F00E98CCB /* AppDelegate.swift in Sources */,
155+
);
156+
runOnlyForDeploymentPostprocessing = 0;
157+
};
158+
/* End PBXSourcesBuildPhase section */
159+
160+
/* Begin PBXVariantGroup section */
161+
32B16ED21AFEA10F00E98CCB /* Main.storyboard */ = {
162+
isa = PBXVariantGroup;
163+
children = (
164+
32B16ED31AFEA10F00E98CCB /* Base */,
165+
);
166+
name = Main.storyboard;
167+
sourceTree = "<group>";
168+
};
169+
32B16ED71AFEA10F00E98CCB /* LaunchScreen.xib */ = {
170+
isa = PBXVariantGroup;
171+
children = (
172+
32B16ED81AFEA10F00E98CCB /* Base */,
173+
);
174+
name = LaunchScreen.xib;
175+
sourceTree = "<group>";
176+
};
177+
/* End PBXVariantGroup section */
178+
179+
/* Begin XCBuildConfiguration section */
180+
32B16EE61AFEA10F00E98CCB /* Debug */ = {
181+
isa = XCBuildConfiguration;
182+
buildSettings = {
183+
ALWAYS_SEARCH_USER_PATHS = NO;
184+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
185+
CLANG_CXX_LIBRARY = "libc++";
186+
CLANG_ENABLE_MODULES = YES;
187+
CLANG_ENABLE_OBJC_ARC = YES;
188+
CLANG_WARN_BOOL_CONVERSION = YES;
189+
CLANG_WARN_CONSTANT_CONVERSION = YES;
190+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
191+
CLANG_WARN_EMPTY_BODY = YES;
192+
CLANG_WARN_ENUM_CONVERSION = YES;
193+
CLANG_WARN_INT_CONVERSION = YES;
194+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
195+
CLANG_WARN_UNREACHABLE_CODE = YES;
196+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
197+
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
198+
COPY_PHASE_STRIP = NO;
199+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
200+
ENABLE_STRICT_OBJC_MSGSEND = YES;
201+
GCC_C_LANGUAGE_STANDARD = gnu99;
202+
GCC_DYNAMIC_NO_PIC = NO;
203+
GCC_NO_COMMON_BLOCKS = YES;
204+
GCC_OPTIMIZATION_LEVEL = 0;
205+
GCC_PREPROCESSOR_DEFINITIONS = (
206+
"DEBUG=1",
207+
"$(inherited)",
208+
);
209+
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
210+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
211+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
212+
GCC_WARN_UNDECLARED_SELECTOR = YES;
213+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
214+
GCC_WARN_UNUSED_FUNCTION = YES;
215+
GCC_WARN_UNUSED_VARIABLE = YES;
216+
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
217+
MTL_ENABLE_DEBUG_INFO = YES;
218+
ONLY_ACTIVE_ARCH = YES;
219+
SDKROOT = iphoneos;
220+
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
221+
};
222+
name = Debug;
223+
};
224+
32B16EE71AFEA10F00E98CCB /* Release */ = {
225+
isa = XCBuildConfiguration;
226+
buildSettings = {
227+
ALWAYS_SEARCH_USER_PATHS = NO;
228+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
229+
CLANG_CXX_LIBRARY = "libc++";
230+
CLANG_ENABLE_MODULES = YES;
231+
CLANG_ENABLE_OBJC_ARC = YES;
232+
CLANG_WARN_BOOL_CONVERSION = YES;
233+
CLANG_WARN_CONSTANT_CONVERSION = YES;
234+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
235+
CLANG_WARN_EMPTY_BODY = YES;
236+
CLANG_WARN_ENUM_CONVERSION = YES;
237+
CLANG_WARN_INT_CONVERSION = YES;
238+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
239+
CLANG_WARN_UNREACHABLE_CODE = YES;
240+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
241+
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
242+
COPY_PHASE_STRIP = NO;
243+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
244+
ENABLE_NS_ASSERTIONS = NO;
245+
ENABLE_STRICT_OBJC_MSGSEND = YES;
246+
GCC_C_LANGUAGE_STANDARD = gnu99;
247+
GCC_NO_COMMON_BLOCKS = YES;
248+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
249+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
250+
GCC_WARN_UNDECLARED_SELECTOR = YES;
251+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
252+
GCC_WARN_UNUSED_FUNCTION = YES;
253+
GCC_WARN_UNUSED_VARIABLE = YES;
254+
IPHONEOS_DEPLOYMENT_TARGET = 8.3;
255+
MTL_ENABLE_DEBUG_INFO = NO;
256+
SDKROOT = iphoneos;
257+
VALIDATE_PRODUCT = YES;
258+
};
259+
name = Release;
260+
};
261+
32B16EE91AFEA10F00E98CCB /* Debug */ = {
262+
isa = XCBuildConfiguration;
263+
buildSettings = {
264+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
265+
INFOPLIST_FILE = bk1ch10p418subclassing/Info.plist;
266+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
267+
PRODUCT_NAME = "$(TARGET_NAME)";
268+
};
269+
name = Debug;
270+
};
271+
32B16EEA1AFEA10F00E98CCB /* Release */ = {
272+
isa = XCBuildConfiguration;
273+
buildSettings = {
274+
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
275+
INFOPLIST_FILE = bk1ch10p418subclassing/Info.plist;
276+
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
277+
PRODUCT_NAME = "$(TARGET_NAME)";
278+
};
279+
name = Release;
280+
};
281+
/* End XCBuildConfiguration section */
282+
283+
/* Begin XCConfigurationList section */
284+
32B16EC41AFEA10F00E98CCB /* Build configuration list for PBXProject "bk1ch10p418subclassing" */ = {
285+
isa = XCConfigurationList;
286+
buildConfigurations = (
287+
32B16EE61AFEA10F00E98CCB /* Debug */,
288+
32B16EE71AFEA10F00E98CCB /* Release */,
289+
);
290+
defaultConfigurationIsVisible = 0;
291+
defaultConfigurationName = Release;
292+
};
293+
32B16EE81AFEA10F00E98CCB /* Build configuration list for PBXNativeTarget "bk1ch10p418subclassing" */ = {
294+
isa = XCConfigurationList;
295+
buildConfigurations = (
296+
32B16EE91AFEA10F00E98CCB /* Debug */,
297+
32B16EEA1AFEA10F00E98CCB /* Release */,
298+
);
299+
defaultConfigurationIsVisible = 0;
300+
};
301+
/* End XCConfigurationList section */
302+
};
303+
rootObject = 32B16EC11AFEA10F00E98CCB /* Project object */;
304+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
2+
3+
import UIKit
4+
5+
@UIApplicationMain
6+
class AppDelegate: UIResponder, UIApplicationDelegate {
7+
8+
var window: UIWindow?
9+
10+
11+
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
12+
// Override point for customization after application launch.
13+
return true
14+
}
15+
16+
override func respondsToSelector(aSelector: Selector) -> Bool {
17+
println(aSelector)
18+
return super.respondsToSelector(aSelector)
19+
}
20+
21+
22+
23+
}
24+
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6214" systemVersion="14A314h" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
3+
<dependencies>
4+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6207"/>
5+
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
6+
</dependencies>
7+
<objects>
8+
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
9+
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
10+
<view contentMode="scaleToFill" id="iN0-l3-epB">
11+
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
12+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
13+
<subviews>
14+
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright (c) 2015 Matt Neuburg. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
15+
<rect key="frame" x="20" y="439" width="441" height="21"/>
16+
<fontDescription key="fontDescription" type="system" pointSize="17"/>
17+
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
18+
<nil key="highlightedColor"/>
19+
</label>
20+
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="bk1ch10p418subclassing" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
21+
<rect key="frame" x="20" y="140" width="441" height="43"/>
22+
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
23+
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
24+
<nil key="highlightedColor"/>
25+
</label>
26+
</subviews>
27+
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
28+
<constraints>
29+
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
30+
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
31+
<constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
32+
<constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
33+
<constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
34+
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
35+
</constraints>
36+
<nil key="simulatedStatusBarMetrics"/>
37+
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
38+
<point key="canvasLocation" x="548" y="455"/>
39+
</view>
40+
</objects>
41+
</document>

0 commit comments

Comments
 (0)