2010-05-03 22 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