(参考 高质量iOS 与 OSX 的52 个有效方法)
@interface XXYPerson : NSObject
@property (nonatomic, copy, readonly) NSString *firstName;
@property (nonatomic, copy, readonly) NSString *lastName;
@property (nonatomic, copy, readonly) NSSet *firends;
- (instancetype)initWithFirstName:(NSString *)firstName lastName:(NSString *)lastName;
- (void)addFriends:(XXYPerson *)person;
- (void)removeFridends:(XXYPerson *)person;
@end
#import "XXYPerson.h"
@implementation XXYPerson
{
NSMutableSet *_internalFriends;
}
- (instancetype)initWithFirstName:(NSString *)firstName lastName:(NSString *)lastName {
self = [super init];
if (self) {
_firstName = firstName;
_lastName = lastName;
_internalFriends = [NSMutableSet new];
}
return self;
}
- (NSSet *)firends {
return [_internalFriends copy];
}
- (void)addFriends:(XXYPerson *)person {
[_internalFriends addObject:person];
}
- (void)removeFridends:(XXYPerson *)person {
[_internalFriends removeObject:person];
}
@end
网友评论