목록nsset (2)
ㄷㅣㅆㅣ's Amusement
오늘은 간단한데 오래 전부터 objective-c를 썼던 사람이나, 6개월 미만의 사람들이 자주 하게되는 이상한(?)코딩에 대해서 포스팅한다. 1. 간단한 초기화 - NSArray, NSSet, NSDictionary를 초기화 할때에 옛날 개발자들이나, 아니면 옛날 책을 가지고 공부한 사람들은 대부분 다음과 같이 한다.1234567- (void)viewDidLoad { [super viewDidLoad]; NSArray *menuBtns = [[NSArray alloc] init]; NSSet *menuSet = [[NSSet alloc] init]; NSDictionary *menuDic = [[NSDictionary alloc] init];}Colored by Color Scriptercs 매우 맞다..
NSSet이나 NSMutableSet을 이용하면... 당연히 중복이 없어져야한다... 집합이니까... 그런데!! 신경써서 override하지 않으면 중복이 생길수가 있음... 아오... 이거 맨날 빼먹고 하다가 디버깅 한시간씩 잡아먹고 그러지.. isEqual함수만 오버라이드하면 되는줄 알았게찌? 근데 디버깅하면 일일이 다 비교하지 않아서 이게 뭥미;; 하고 한시간씩 정신과 시간의 방에 갇히게 됨. - (BOOL)isEqual:(id)other { // TODO : 중복체크 로직 } 아직도 무슨말인지 잘 모르겠는 사람 있을게야... 당신이 빠뜨린 한가지... function hash override - (NSUInteger)hash { return [[self cardName] hash]; } 이거 안해..