在NSNotification中将int作为"对象"传递

alt*_*ler 0 cocoa objective-c

我正在尝试发送一个int(在枚举中定义)作为对象NSNotification.

我不能这样做,因为EXC_BAD_ACCESS在尝试访问notify:观察者方法中的对象时会抛出一个错误,因为int它不是类型id(我认为?).

我目前的解决方案是将int转换为NSNumber(通过使用numberWithInt:).虽然这样做但感觉不对或干净.

所以问题是:将一个int作为NSNotification的"对象"传递的正确方法是什么?

我猜这实际上与这个具体情况无关,但一般来说是Cocoa的东西:-)

Mic*_*ann 8

你没有投射到NSNumber......你正在创建一个NSNumber对象并将它的内容(或值)设置为你的对象int.

而Objective C对象是你可以在userInfoNSNotifications 的字典中传递的,所以你所做的是绝对正确的.

现在关于崩溃,请编辑您的问题,以显示您如何创建和发布您的代码NSNotification以及实际处理NSNotification您发送的方法的方法.