Skip to content

Commit 84eaf64

Browse files
committed
临时新增“BAT面试指南”
1 parent c085e7a commit 84eaf64

24 files changed

Lines changed: 998 additions & 0 deletions
62.4 KB
Binary file not shown.
Lines changed: 315 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,315 @@
1+
// !$*UTF8*$!
2+
{
3+
archiveVersion = 1;
4+
classes = {
5+
};
6+
objectVersion = 46;
7+
objects = {
8+
9+
/* Begin PBXBuildFile section */
10+
9B34C40F1CA836A10048F570 /* EOCErrors.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B34C40E1CA836A10048F570 /* EOCErrors.m */; };
11+
9B9116451CA4E15900917FF2 /* HashTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B9116441CA4E15900917FF2 /* HashTest.m */; };
12+
9B9116481CA4F24A00917FF2 /* EOCEmployeeDeveloper.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B9116471CA4F24A00917FF2 /* EOCEmployeeDeveloper.m */; };
13+
9B91164C1CA4F29600917FF2 /* EOCEmployeeDesigner.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B91164B1CA4F29600917FF2 /* EOCEmployeeDesigner.m */; };
14+
9B91164F1CA4F29D00917FF2 /* EOCEmployeeFinance.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B91164E1CA4F29D00917FF2 /* EOCEmployeeFinance.m */; };
15+
9BC39BAB1CA3CECE00B04B99 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BC39BAA1CA3CECE00B04B99 /* main.m */; };
16+
9BC39BB31CA3D17200B04B99 /* EOCPerson.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BC39BB21CA3D17200B04B99 /* EOCPerson.m */; };
17+
9BC39BB61CA3D18000B04B99 /* EOCEmployee.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BC39BB51CA3D18000B04B99 /* EOCEmployee.m */; };
18+
9BC39BB91CA3D4C500B04B99 /* Literal.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BC39BB81CA3D4C500B04B99 /* Literal.m */; };
19+
9BC39BBC1CA3FA6700B04B99 /* Enum.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BC39BBB1CA3FA6700B04B99 /* Enum.m */; };
20+
9BC39BBF1CA405E900B04B99 /* EOCSmithPerson.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BC39BBE1CA405E900B04B99 /* EOCSmithPerson.m */; };
21+
/* End PBXBuildFile section */
22+
23+
/* Begin PBXCopyFilesBuildPhase section */
24+
9BC39BA51CA3CECE00B04B99 /* CopyFiles */ = {
25+
isa = PBXCopyFilesBuildPhase;
26+
buildActionMask = 2147483647;
27+
dstPath = /usr/share/man/man1/;
28+
dstSubfolderSpec = 0;
29+
files = (
30+
);
31+
runOnlyForDeploymentPostprocessing = 1;
32+
};
33+
/* End PBXCopyFilesBuildPhase section */
34+
35+
/* Begin PBXFileReference section */
36+
9B34C40D1CA836A10048F570 /* EOCErrors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EOCErrors.h; sourceTree = "<group>"; };
37+
9B34C40E1CA836A10048F570 /* EOCErrors.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EOCErrors.m; sourceTree = "<group>"; };
38+
9B9116431CA4E15900917FF2 /* HashTest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HashTest.h; sourceTree = "<group>"; };
39+
9B9116441CA4E15900917FF2 /* HashTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HashTest.m; sourceTree = "<group>"; };
40+
9B9116461CA4F24A00917FF2 /* EOCEmployeeDeveloper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EOCEmployeeDeveloper.h; sourceTree = "<group>"; };
41+
9B9116471CA4F24A00917FF2 /* EOCEmployeeDeveloper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EOCEmployeeDeveloper.m; sourceTree = "<group>"; };
42+
9B91164A1CA4F29600917FF2 /* EOCEmployeeDesigner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EOCEmployeeDesigner.h; sourceTree = "<group>"; };
43+
9B91164B1CA4F29600917FF2 /* EOCEmployeeDesigner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EOCEmployeeDesigner.m; sourceTree = "<group>"; };
44+
9B91164D1CA4F29D00917FF2 /* EOCEmployeeFinance.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EOCEmployeeFinance.h; sourceTree = "<group>"; };
45+
9B91164E1CA4F29D00917FF2 /* EOCEmployeeFinance.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EOCEmployeeFinance.m; sourceTree = "<group>"; };
46+
9BC39BA71CA3CECE00B04B99 /* EffectiveObjectiveC */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = EffectiveObjectiveC; sourceTree = BUILT_PRODUCTS_DIR; };
47+
9BC39BAA1CA3CECE00B04B99 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
48+
9BC39BB11CA3D17200B04B99 /* EOCPerson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EOCPerson.h; sourceTree = "<group>"; };
49+
9BC39BB21CA3D17200B04B99 /* EOCPerson.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EOCPerson.m; sourceTree = "<group>"; };
50+
9BC39BB41CA3D18000B04B99 /* EOCEmployee.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EOCEmployee.h; sourceTree = "<group>"; };
51+
9BC39BB51CA3D18000B04B99 /* EOCEmployee.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EOCEmployee.m; sourceTree = "<group>"; };
52+
9BC39BB71CA3D4C500B04B99 /* Literal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Literal.h; sourceTree = "<group>"; };
53+
9BC39BB81CA3D4C500B04B99 /* Literal.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Literal.m; sourceTree = "<group>"; };
54+
9BC39BBA1CA3FA6700B04B99 /* Enum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Enum.h; sourceTree = "<group>"; };
55+
9BC39BBB1CA3FA6700B04B99 /* Enum.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Enum.m; sourceTree = "<group>"; };
56+
9BC39BBD1CA405E900B04B99 /* EOCSmithPerson.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EOCSmithPerson.h; sourceTree = "<group>"; };
57+
9BC39BBE1CA405E900B04B99 /* EOCSmithPerson.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EOCSmithPerson.m; sourceTree = "<group>"; };
58+
/* End PBXFileReference section */
59+
60+
/* Begin PBXFrameworksBuildPhase section */
61+
9BC39BA41CA3CECE00B04B99 /* Frameworks */ = {
62+
isa = PBXFrameworksBuildPhase;
63+
buildActionMask = 2147483647;
64+
files = (
65+
);
66+
runOnlyForDeploymentPostprocessing = 0;
67+
};
68+
/* End PBXFrameworksBuildPhase section */
69+
70+
/* Begin PBXGroup section */
71+
9B9116491CA4F25000917FF2 /* EOCEmployee */ = {
72+
isa = PBXGroup;
73+
children = (
74+
9BC39BB41CA3D18000B04B99 /* EOCEmployee.h */,
75+
9BC39BB51CA3D18000B04B99 /* EOCEmployee.m */,
76+
9B9116461CA4F24A00917FF2 /* EOCEmployeeDeveloper.h */,
77+
9B9116471CA4F24A00917FF2 /* EOCEmployeeDeveloper.m */,
78+
9B91164A1CA4F29600917FF2 /* EOCEmployeeDesigner.h */,
79+
9B91164B1CA4F29600917FF2 /* EOCEmployeeDesigner.m */,
80+
9B91164D1CA4F29D00917FF2 /* EOCEmployeeFinance.h */,
81+
9B91164E1CA4F29D00917FF2 /* EOCEmployeeFinance.m */,
82+
);
83+
name = EOCEmployee;
84+
sourceTree = "<group>";
85+
};
86+
9BC39B9E1CA3CECE00B04B99 = {
87+
isa = PBXGroup;
88+
children = (
89+
9BC39BA91CA3CECE00B04B99 /* EffectiveObjectiveC */,
90+
9BC39BA81CA3CECE00B04B99 /* Products */,
91+
);
92+
sourceTree = "<group>";
93+
};
94+
9BC39BA81CA3CECE00B04B99 /* Products */ = {
95+
isa = PBXGroup;
96+
children = (
97+
9BC39BA71CA3CECE00B04B99 /* EffectiveObjectiveC */,
98+
);
99+
name = Products;
100+
sourceTree = "<group>";
101+
};
102+
9BC39BA91CA3CECE00B04B99 /* EffectiveObjectiveC */ = {
103+
isa = PBXGroup;
104+
children = (
105+
9B9116491CA4F25000917FF2 /* EOCEmployee */,
106+
9BC39BAA1CA3CECE00B04B99 /* main.m */,
107+
9BC39BB11CA3D17200B04B99 /* EOCPerson.h */,
108+
9BC39BB21CA3D17200B04B99 /* EOCPerson.m */,
109+
9BC39BBD1CA405E900B04B99 /* EOCSmithPerson.h */,
110+
9BC39BBE1CA405E900B04B99 /* EOCSmithPerson.m */,
111+
9B34C40D1CA836A10048F570 /* EOCErrors.h */,
112+
9B34C40E1CA836A10048F570 /* EOCErrors.m */,
113+
9BC39BB71CA3D4C500B04B99 /* Literal.h */,
114+
9BC39BB81CA3D4C500B04B99 /* Literal.m */,
115+
9BC39BBA1CA3FA6700B04B99 /* Enum.h */,
116+
9BC39BBB1CA3FA6700B04B99 /* Enum.m */,
117+
9B9116431CA4E15900917FF2 /* HashTest.h */,
118+
9B9116441CA4E15900917FF2 /* HashTest.m */,
119+
);
120+
path = EffectiveObjectiveC;
121+
sourceTree = "<group>";
122+
};
123+
/* End PBXGroup section */
124+
125+
/* Begin PBXNativeTarget section */
126+
9BC39BA61CA3CECE00B04B99 /* EffectiveObjectiveC */ = {
127+
isa = PBXNativeTarget;
128+
buildConfigurationList = 9BC39BAE1CA3CECE00B04B99 /* Build configuration list for PBXNativeTarget "EffectiveObjectiveC" */;
129+
buildPhases = (
130+
9BC39BA31CA3CECE00B04B99 /* Sources */,
131+
9BC39BA41CA3CECE00B04B99 /* Frameworks */,
132+
9BC39BA51CA3CECE00B04B99 /* CopyFiles */,
133+
);
134+
buildRules = (
135+
);
136+
dependencies = (
137+
);
138+
name = EffectiveObjectiveC;
139+
productName = EffectiveObjectiveC;
140+
productReference = 9BC39BA71CA3CECE00B04B99 /* EffectiveObjectiveC */;
141+
productType = "com.apple.product-type.tool";
142+
};
143+
/* End PBXNativeTarget section */
144+
145+
/* Begin PBXProject section */
146+
9BC39B9F1CA3CECE00B04B99 /* Project object */ = {
147+
isa = PBXProject;
148+
attributes = {
149+
LastUpgradeCheck = 0730;
150+
ORGANIZATIONNAME = zxy;
151+
TargetAttributes = {
152+
9BC39BA61CA3CECE00B04B99 = {
153+
CreatedOnToolsVersion = 7.3;
154+
};
155+
};
156+
};
157+
buildConfigurationList = 9BC39BA21CA3CECE00B04B99 /* Build configuration list for PBXProject "EffectiveObjectiveC" */;
158+
compatibilityVersion = "Xcode 3.2";
159+
developmentRegion = English;
160+
hasScannedForEncodings = 0;
161+
knownRegions = (
162+
en,
163+
);
164+
mainGroup = 9BC39B9E1CA3CECE00B04B99;
165+
productRefGroup = 9BC39BA81CA3CECE00B04B99 /* Products */;
166+
projectDirPath = "";
167+
projectRoot = "";
168+
targets = (
169+
9BC39BA61CA3CECE00B04B99 /* EffectiveObjectiveC */,
170+
);
171+
};
172+
/* End PBXProject section */
173+
174+
/* Begin PBXSourcesBuildPhase section */
175+
9BC39BA31CA3CECE00B04B99 /* Sources */ = {
176+
isa = PBXSourcesBuildPhase;
177+
buildActionMask = 2147483647;
178+
files = (
179+
9B34C40F1CA836A10048F570 /* EOCErrors.m in Sources */,
180+
9BC39BBC1CA3FA6700B04B99 /* Enum.m in Sources */,
181+
9BC39BB61CA3D18000B04B99 /* EOCEmployee.m in Sources */,
182+
9B91164F1CA4F29D00917FF2 /* EOCEmployeeFinance.m in Sources */,
183+
9B9116451CA4E15900917FF2 /* HashTest.m in Sources */,
184+
9BC39BBF1CA405E900B04B99 /* EOCSmithPerson.m in Sources */,
185+
9B91164C1CA4F29600917FF2 /* EOCEmployeeDesigner.m in Sources */,
186+
9BC39BB91CA3D4C500B04B99 /* Literal.m in Sources */,
187+
9BC39BB31CA3D17200B04B99 /* EOCPerson.m in Sources */,
188+
9B9116481CA4F24A00917FF2 /* EOCEmployeeDeveloper.m in Sources */,
189+
9BC39BAB1CA3CECE00B04B99 /* main.m in Sources */,
190+
);
191+
runOnlyForDeploymentPostprocessing = 0;
192+
};
193+
/* End PBXSourcesBuildPhase section */
194+
195+
/* Begin XCBuildConfiguration section */
196+
9BC39BAC1CA3CECE00B04B99 /* Debug */ = {
197+
isa = XCBuildConfiguration;
198+
buildSettings = {
199+
ALWAYS_SEARCH_USER_PATHS = NO;
200+
CLANG_ANALYZER_NONNULL = YES;
201+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
202+
CLANG_CXX_LIBRARY = "libc++";
203+
CLANG_ENABLE_MODULES = YES;
204+
CLANG_ENABLE_OBJC_ARC = YES;
205+
CLANG_WARN_BOOL_CONVERSION = YES;
206+
CLANG_WARN_CONSTANT_CONVERSION = YES;
207+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
208+
CLANG_WARN_EMPTY_BODY = YES;
209+
CLANG_WARN_ENUM_CONVERSION = YES;
210+
CLANG_WARN_INT_CONVERSION = YES;
211+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
212+
CLANG_WARN_UNREACHABLE_CODE = YES;
213+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
214+
CODE_SIGN_IDENTITY = "-";
215+
COPY_PHASE_STRIP = NO;
216+
DEBUG_INFORMATION_FORMAT = dwarf;
217+
ENABLE_STRICT_OBJC_MSGSEND = YES;
218+
ENABLE_TESTABILITY = YES;
219+
GCC_C_LANGUAGE_STANDARD = gnu99;
220+
GCC_DYNAMIC_NO_PIC = NO;
221+
GCC_NO_COMMON_BLOCKS = YES;
222+
GCC_OPTIMIZATION_LEVEL = 0;
223+
GCC_PREPROCESSOR_DEFINITIONS = (
224+
"DEBUG=1",
225+
"$(inherited)",
226+
);
227+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
228+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
229+
GCC_WARN_UNDECLARED_SELECTOR = YES;
230+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
231+
GCC_WARN_UNUSED_FUNCTION = YES;
232+
GCC_WARN_UNUSED_VARIABLE = YES;
233+
MACOSX_DEPLOYMENT_TARGET = 10.11;
234+
MTL_ENABLE_DEBUG_INFO = YES;
235+
ONLY_ACTIVE_ARCH = YES;
236+
SDKROOT = macosx;
237+
};
238+
name = Debug;
239+
};
240+
9BC39BAD1CA3CECE00B04B99 /* Release */ = {
241+
isa = XCBuildConfiguration;
242+
buildSettings = {
243+
ALWAYS_SEARCH_USER_PATHS = NO;
244+
CLANG_ANALYZER_NONNULL = YES;
245+
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
246+
CLANG_CXX_LIBRARY = "libc++";
247+
CLANG_ENABLE_MODULES = YES;
248+
CLANG_ENABLE_OBJC_ARC = YES;
249+
CLANG_WARN_BOOL_CONVERSION = YES;
250+
CLANG_WARN_CONSTANT_CONVERSION = YES;
251+
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
252+
CLANG_WARN_EMPTY_BODY = YES;
253+
CLANG_WARN_ENUM_CONVERSION = YES;
254+
CLANG_WARN_INT_CONVERSION = YES;
255+
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
256+
CLANG_WARN_UNREACHABLE_CODE = YES;
257+
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
258+
CODE_SIGN_IDENTITY = "-";
259+
COPY_PHASE_STRIP = NO;
260+
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
261+
ENABLE_NS_ASSERTIONS = NO;
262+
ENABLE_STRICT_OBJC_MSGSEND = YES;
263+
GCC_C_LANGUAGE_STANDARD = gnu99;
264+
GCC_NO_COMMON_BLOCKS = YES;
265+
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
266+
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
267+
GCC_WARN_UNDECLARED_SELECTOR = YES;
268+
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
269+
GCC_WARN_UNUSED_FUNCTION = YES;
270+
GCC_WARN_UNUSED_VARIABLE = YES;
271+
MACOSX_DEPLOYMENT_TARGET = 10.11;
272+
MTL_ENABLE_DEBUG_INFO = NO;
273+
SDKROOT = macosx;
274+
};
275+
name = Release;
276+
};
277+
9BC39BAF1CA3CECE00B04B99 /* Debug */ = {
278+
isa = XCBuildConfiguration;
279+
buildSettings = {
280+
PRODUCT_NAME = "$(TARGET_NAME)";
281+
};
282+
name = Debug;
283+
};
284+
9BC39BB01CA3CECE00B04B99 /* Release */ = {
285+
isa = XCBuildConfiguration;
286+
buildSettings = {
287+
PRODUCT_NAME = "$(TARGET_NAME)";
288+
};
289+
name = Release;
290+
};
291+
/* End XCBuildConfiguration section */
292+
293+
/* Begin XCConfigurationList section */
294+
9BC39BA21CA3CECE00B04B99 /* Build configuration list for PBXProject "EffectiveObjectiveC" */ = {
295+
isa = XCConfigurationList;
296+
buildConfigurations = (
297+
9BC39BAC1CA3CECE00B04B99 /* Debug */,
298+
9BC39BAD1CA3CECE00B04B99 /* Release */,
299+
);
300+
defaultConfigurationIsVisible = 0;
301+
defaultConfigurationName = Release;
302+
};
303+
9BC39BAE1CA3CECE00B04B99 /* Build configuration list for PBXNativeTarget "EffectiveObjectiveC" */ = {
304+
isa = XCConfigurationList;
305+
buildConfigurations = (
306+
9BC39BAF1CA3CECE00B04B99 /* Debug */,
307+
9BC39BB01CA3CECE00B04B99 /* Release */,
308+
);
309+
defaultConfigurationIsVisible = 0;
310+
defaultConfigurationName = Release;
311+
};
312+
/* End XCConfigurationList section */
313+
};
314+
rootObject = 9BC39B9F1CA3CECE00B04B99 /* Project object */;
315+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//
2+
// EOCEmployee.h
3+
// EffectiveObjectiveC
4+
//
5+
// Created by 张星宇 on 16/3/24.
6+
// Copyright © 2016年 zxy. All rights reserved.
7+
//
8+
9+
#import <Foundation/Foundation.h>
10+
#import "EOCPerson.h"
11+
12+
typedef NS_ENUM(NSUInteger, EOCEmployeeType) {
13+
EOCEmployeeTypeDeveloper,
14+
EOCEmployeeTypeDesigner,
15+
EOCEmployeeTypeFinance,
16+
};
17+
18+
@interface EOCEmployee : NSObject <NSCopying>
19+
20+
- (void) addEmployee:(EOCPerson *)person;
21+
- (void) doSomeWork;
22+
23+
+ (EOCEmployee *)employeeWithType:(EOCEmployeeType)type;
24+
25+
@end
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
//
2+
// EOCEmployee.m
3+
// EffectiveObjectiveC
4+
//
5+
// Created by 张星宇 on 16/3/24.
6+
// Copyright © 2016年 zxy. All rights reserved.
7+
//
8+
9+
#import "EOCEmployee.h"
10+
#import "EOCEmployeeDeveloper.h"
11+
#import "EOCEmployeeFinance.h"
12+
#import "EOCEmployeeDesigner.h"
13+
14+
int EOCConst = 1;
15+
16+
@implementation EOCEmployee
17+
18+
- (void)addEmployee:(EOCPerson *)person {
19+
return;
20+
}
21+
22+
- (void)doSomeWork {
23+
return;
24+
}
25+
26+
+ (EOCEmployee *)employeeWithType:(EOCEmployeeType)type {
27+
switch (type) {
28+
case EOCEmployeeTypeDeveloper:
29+
return [EOCEmployeeDeveloper new];
30+
break;
31+
case EOCEmployeeTypeFinance:
32+
return [EOCEmployeeFinance new];
33+
break;
34+
case EOCEmployeeTypeDesigner:
35+
return [EOCEmployeeDesigner new];
36+
break;
37+
}
38+
}
39+
40+
- (instancetype)copyWithZone:(NSZone *)zone {
41+
return [[EOCEmployee allocWithZone:zone] init];
42+
}
43+
44+
@end

0 commit comments

Comments
 (0)