2014-10-31 86 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