Между тем, как вы присвоили объекту NSNumber свой ivar, он был выпущен во время выполнения. Я предполагаю, где вы создали bs и где вы пытаетесь присвоить его x двумя разными способами. Если это так, вам нужно сообщить среде выполнения, что вы хотите, чтобы ivar bs оставался на некоторое время:
[bs retain];
И если вы это сделаете, вам нужно сообщить среде выполнения, что вы закончили в dealloc:
-(void)dealloc {
[bs release];
[super dealloc];
}
По сути, если вы не создали объект с помощью alloc, copy, mutableCopy, new в имени метода, то вы не являетесь владельцем объекта.