gpt4 book ai didi

ios - 无法识别的选择器发送到实例错误?

转载 作者:行者123 更新时间:2023-11-28 21:47:06 24 4
gpt4 key购买 nike

考虑这段代码:

SCNNode *someNode = [[SCNNode alloc] init];
Piece *piece = (Piece *)someNode;
[piece pick];

其中 Piece 是 SCNNode 的子类,包含一个名为 pick 的方法。 Xcode 返回此错误:

[SCNNode pick]: unrecognized selector sent to instance

有人能告诉我我的代码有什么问题吗?

编辑:

我也试过了。同样的问题。

- (id)initPieceWithNode:(SCNNode *)node {

if (self = [super init]) {
self = (Piece *)[node copy];
}

return self;
}

最佳答案

在这里,您将 SCNNode 转换为 Piece,而不是创建 Piece 对象。如果转换,该方法将不会神奇地出现在 SCNNode 中。

你应该这样做:

Piece *piece = [Piece pieceWithNode:someNode];

举例:

+ (Piece *)pieceWithNode:(SCNNode *)aNode {
Piece *newPiece = [Piece new];

newPiece.property1 = aNode.propertyX
newPiece.property2 = aNode.propertyY
...

return newPiece;
}

这是最好的方法。

编辑 2:根据评论:

Piece *piece = [Piece new]; 
[piece pick];

够了

关于ios - 无法识别的选择器发送到实例错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29700873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com