首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSUndoManager和GLKit

NSUndoManager和GLKit
EN

Stack Overflow用户
提问于 2013-08-18 23:38:15
回答 1查看 209关注 0票数 3

我正在尝试在使用GLKit的iOS应用程序中支持撤消/重做。

当我尝试以下操作时:

代码语言:javascript
复制
GLKVector3 currentTranslation = _panningObject.translation;
[[self.undoManager prepareWithInvocationTarget:_panningObject] setTranslation:currentTranslation];

我遇到了崩溃:

代码语言:javascript
复制
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[NSMethodSignature signatureWithObjCTypes:]: unsupported type encoding spec '(' in '4(_GLKVector3={?=fff}{?=fff}{?=fff}[3f])8''

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2013-08-20 21:11:01

仍然不知道为什么GLKVector3不会玩得很好,但我正在使用这个作为解决方法:

代码语言:javascript
复制
- (void)setObject:(DrawableObject *)object translationX:(CGFloat)x y:(CGFloat)y z:(CGFloat)z {

    GLKVector3 translation = GLKVector3Make(x, y, z);
    GLKVector3 currentTranslation = object.translation;
    [[self.undoManager prepareWithInvocationTarget:self] setObject:object
                                                      translationX:currentTranslation.x y:currentTranslation.y z:currentTranslation.z];

    [object setTranslation:translation];
}

编辑:

https://twitter.com/bddckr/status/370144778090192896 https://twitter.com/bddckr/status/370145021804425216

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18300800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档