UITextSelectionView使用SpriteKit和UITextView命名无法识别的选择器

Toa*_*ile 3 crash objective-c uitextview ios sprite-kit

我有一个适用于iOS 8.0的应用程序,直到切换到8.1.当我在SpriteKit游戏中创建UITextView时,我收到以下错误:

-[UITextSelectionView name]: unrecognized selector sent to instance 0x7f96ee6bdfa0
Run Code Online (Sandbox Code Playgroud)

如果我在代码中创建对象或在我的xib文件中放置UITextView,就会发生这种情况.

层次结构如下所示:

UIViewController(self.view是一个SKView) - > UIView - > UITextView

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        UITextView *test = [[UITextView alloc] init];
    }
    return self;
}
Run Code Online (Sandbox Code Playgroud)

任何想法可能是什么问题,为什么它突然出现?

Toa*_*ile 5

问题最终是在SpriteKit场景中使用performSelector:withObject:afterDelay:一旦我用SKAction替换了这些事件,它就解决了UITextView问题.

旧代码:

[self performSelector:@selector(methodName) withObject:nil afterDelay:1.0];
Run Code Online (Sandbox Code Playgroud)

新守则:

SKAction *action   = [SKAction performSelector:@selector(methodName) onTarget:self];
SKAction *wait     = [SKAction waitForDuration:1.0];
SKAction *sequence = [SKAction sequence:@[wait, action]];
[self runAction:sequence];
Run Code Online (Sandbox Code Playgroud)