Skip to content

Commit 843b7be

Browse files
committed
update CYLUser example. #109
- Delete name setter method beause of the property is readonly. - Add new method of CYLUser class init.
1 parent 63b64b7 commit 843b7be

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

01《招聘一个靠谱的iOS》面试题参考答案/《招聘一个靠谱的iOS》面试题参考答案(上).md

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ typedef NS_ENUM(NSInteger, CYLGender) {
168168
- (instancetype)initWithName:(NSString *)name
169169
age:(NSUInteger)age
170170
gender:(CYLGender)gender {
171-
if(self = [super init]) {
171+
if (self = [super init]) {
172172
_name = [name copy];
173173
_age = age;
174174
_gender = gender;
@@ -521,14 +521,10 @@ typedef NS_ENUM(NSInteger, CYLGender) {
521521
NSMutableSet *_friends;
522522
}
523523
524-
- (void)setName:(NSString *)name {
525-
_name = [name copy];
526-
}
527-
528524
- (instancetype)initWithName:(NSString *)name
529525
age:(NSUInteger)age
530526
gender:(CYLGender)gender {
531-
if(self = [super init]) {
527+
if (self = [super init]) {
532528
_name = [name copy];
533529
_age = age;
534530
_gender = gender;
@@ -537,6 +533,12 @@ typedef NS_ENUM(NSInteger, CYLGender) {
537533
return self;
538534
}
539535
536+
+ (instancetype)userWithName:(NSString *)name age:(NSUInteger)age gender:(CYLGender)gender {
537+
CYLUser *user = [[CYLUser alloc] initWithName:name age:age gender:gender];
538+
user->_friends = [[NSMutableSet alloc] init];
539+
return user;
540+
}
541+
540542
- (void)addFriend:(CYLUser *)user {
541543
[_friends addObject:user];
542544
}
@@ -660,7 +662,7 @@ typedef NS_ENUM(NSInteger, CYLGender) {
660662
[a setX:[a x]]; //队友咆哮道:你在干嘛?!!
661663
```
662664

663-
> 不要在 setter 里进行像 `if(_obj != newObj)` 这样的判断。(该观点参考链接:[ ***How To Write Cocoa Object Setters: Principle 3: Only Optimize After You Measure*** ](http://vgable.com/blog/tag/autorelease/)
665+
> 不要在 setter 里进行像 `if (_obj != newObj)` 这样的判断。(该观点参考链接:[ ***How To Write Cocoa Object Setters: Principle 3: Only Optimize After You Measure*** ](http://vgable.com/blog/tag/autorelease/)
664666
665667

666668

@@ -670,8 +672,8 @@ typedef NS_ENUM(NSInteger, CYLGender) {
670672

671673
```Objective-C
672674
-(void)setSpeed:(int)speed {
673-
if(speed < 0) speed = 0;
674-
if(speed > 300) speed = 300;
675+
if (speed < 0) speed = 0;
676+
if (speed > 300) speed = 300;
675677
_speed = speed;
676678
}
677679
```
@@ -686,7 +688,7 @@ typedef NS_ENUM(NSInteger, CYLGender) {
686688
- (instancetype)initWithName:(NSString *)name
687689
age:(NSUInteger)age
688690
gender:(CYLGender)gender {
689-
if(self = [super init]) {
691+
if ((self = [super init]) {
690692
_name = [name copy];
691693
_age = age;
692694
_gender = gender;

0 commit comments

Comments
 (0)