2010-05-03 36 views
1

我正在与Robert Payne的PSMTabBarControl的叉子一起使用IB 3.2(谢谢BTW Robert!):http://codaset.com/robertjpayne/psmtabbarcontrol/。演示应用程序在64位系统上工作正常,但是当我试图在32位系统上的Interface Builder中打开XIB文件时,我得到: IBXMLDecoder:键(myTrackingRectTag)的值(4654500848)太大而不适合成一个32位整数Interface Builder错误:IBXMLDecoder:键的值太大,无法放入32位整数

构建的应用程序作为32位的作品,但随后运行它给: PSMTabBarControlDemo [9073:80F] *** - [NSKeyedUnarchiver decodeInt32ForKey:]:值(4654500848)为重点(myTrackingRectTag)太大到适合32位整数

不确定这是否是在64位和32位系统之间移动时可能发生的通用IB问题,或者如果这是此代码更具体的问题。有没有其他人遇到过这个问题?

回答

0

我明白了这一点,它与Interface Builder无关。 IB错误来自PSMTabBarControl IB插件。

对于其他人谁运行到这一点,在PSMOverflowPopUpButton.m改变:

[aCoder encodeInteger:_myTrackingRectTag forKey:@"myTrackingRectTag"]; 

[aCoder encodeInt64:_myTrackingRectTag forKey:@"myTrackingRectTag"]; 

_myTrackingRectTag = [aDecoder decodeIntegerForKey:@"myTrackingRectTag"]; 

_myTrackingRectTag = [aDecoder decodeInt64ForKey:@"myTrackingRectTag"]; 

为我解决了这个问题,现在它适用于i386和x86_64体系结构。

+0

听起来像_myTrackingRectTag也有一个垃圾值,也许它被错误初始化的地方? – 2010-05-14 02:17:49