Мы получаем следующее исключение при вызове [self.sessions allValues]
. Везде, где мы используем сеансы, мы также синхронизируемся с мьютексом объекта блокировки. Что вызвало бы это исключение?
[NSArray initWithObjects:count:]: attempt to insert nil object at objects[0]
0 CoreFoundation 0x334ff987 __exceptionPreprocess + 114
1 libobjc.A.dylib 0x331b449d objc_exception_throw + 24
2 CoreFoundation 0x33487bf7 -[__NSPlaceholderArray initWithObjects:count:] + 270
3 CoreFoundation 0x3349730d +[NSArray arrayWithObjects:count:] + 32
4 CoreFoundation 0x334a16e7 -[NSDictionary allValues] + 282
@synchronized (mutex) {
if (!self.sessions) {
return [NSArray array];
}
NSMutableArray* activeSessions = [[NSMutableArray alloc] init];
for (id<AccountSession> session in [self.sessions allValues]) {
if (session) {
[activeSessions addObject:session];
}
}
return [activeSessions autorelease];
}