2014-10-31 72 views
0

綜合屬性,因此我有一個在iOS的7Xcode中不與IOS 8 SDK

@interface SKBButtonNode : SKSpriteNode 
@property (nonatomic, strong) SKTexture *normalTexture; 

它工作得很好,對iOS7並建立了在AppStore的做工精細的自定義類。由於iOS 8我的遊戲在發佈時崩潰。我將問題本地化爲:

[SKBButtonNode setNormalTexture:] unrecognized selector sent to instance 0x7fb50b6c41d0' 

這是怎麼回事?如果我將這個財產合併,那麼它工作正常。

+0

可能與iOS 8中引入的新屬性具有相同名稱有關... – borrrden 2014-10-31 08:46:43

+0

您是否可以分享一些關於調用'setNormalTexture'的更多代碼?你使用這個美白的SKBButtonNode類,或者你打電話給另一個類中的SKBButtonNode的實例? – AMI289 2014-10-31 09:59:00

回答

1

我有同樣的問題,並從評論中borrrden線索原始郵件幫助我找出如何解決它。它看起來像在iOS8中與normalTexture的名稱衝突導致崩潰。

我檢查了按鈕節點類中的normalTexture並將其更名爲myNormalTexture(.h和.m文件),並解決了此問題。

在h文件:

@屬性(非原子,讀寫,強)SKTexture * myNormalTexture;

在.m文件進行更改:

  • (instancetype)initWithTextureNormal:(SKTexture *)正常選自:(SKTexture *)選定的禁用:(SKTexture *)禁用

  • (空隙)setIsEnabled:(BOOL)的IsEnabled

  • (無效)setIsSelected:(BOOL)isSelected

+0

我想我得到了這個本地化,但沒有迴應這個職位。新的Xcode實際上會強制你擁有setter和getter,如果你自定義其中的任何一個。以前我只有自定義的getter,但不是setter。一旦我解決這個問題,它工作 – Dvole 2014-12-29 06:33:19