2017-09-30 9 views
0

「SKView.texture(from :)」を呼び出すときに時々EXC_BAD_ACCESS (code=1, address=0x0)エラーが発生しました。(アドレス0x0から)ヌルポインタ逆参照。EXC_BAD_ACCESS SKViewの.texture(from)でnull以外の例外が発生しました

私はこのようにそれを呼んでいる:

view.texture(from: node) 

viewSKViewnodeあるSKNodeではありません、どちらもゼロです。この行は、さまざまなノードに対して何度も何度も呼び出され、ほとんどの場合はうまく動作しますが、最終的には(通常、画面上にノードが多い場合)、クラッシュします。典型的なクラッシュから

スタックトレース:

* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) 
    frame #0: 0x0000000199b1da3c SpriteKit`-[SKTexture(Internal) initWithBackingTetxure:logicalWidth:height:] + 76 
    frame #1: 0x0000000199baeff0 SpriteKit`SKCRenderer::textureFromNode(SKCNode*, float, NSDictionary*) + 1052 
    frame #2: 0x0000000199b2e428 SpriteKit`-[SKView textureFromNode:withOptions:] + 124 
    frame #3: 0x0000000199b2e39c SpriteKit`-[SKView textureFromNode:] + 24 
    * frame #4: 0x0000000104bf3534 Worf`SpriteComponent.texture(node=0x00000001c03113a0, self=0x00000001c0541e40) at SpriteComponent.swift:175 
    ... 

これは、iOS用スウィフト4を使用してXcodeの9.0(9A235)です。

価格はRingoが指摘しているように、例外はSKTextureの奇妙なスペルの内部メソッドであるinitWithBackingTetxure:logicalWidth:heightで発生していることを明らかにする。

このエラーの原因となるSKNodeで何が間違っている可能性がありますか?

答えて

-1

ノードまたはビューは何とかゼロではなく、むしろinitWithBackingTetxure:logicalWidth:height:にアクセスします。ライブラリに欠陥がある可能性がありますが、ノードの状態が悪い可能性が非常に高いです。

+0

ご協力いただきありがとうございますが、私はノードに何が間違っているかを理解するのに問題があります。 'texture(from) 'のドキュメンテーションは単に' SKNode'と書いてあり、ビューのシーン内にある必要はありません。ノードの状態が悪いということが何を意味するのかを明確にすることはできますか? – Robert

関連する問題