我正在编写一个快速计时器,并且我试图让tnoodle库(链接在这里)与我的Xcode项目一起工作。到目前为止,我已经成功地导入了我认为的所有东西(我是编程方面的新手),但我不知道如何实际使用它来生成混乱。有人能帮忙吗?
下面是我要做的事情:
在我的Header.h桥接文件中:
#ifndef Bridging_Header_h
#define Bridging_Header_h
#import "org/worldcubeassociation/tnoodle/scrambles/PuzzleRegistry.h"
#import "org/worldcubeassociation/tnoodle/scrambles/Puzzle.h"
#import "org/worldcubeassociation/tnoodle/svglite/Svg.h"
#import "org/worldcubeassociation/tnoodle/svglite/Dimension.h"
NSString * const SCRAMBLE = "/("NSSOrgWorldcubeassociationTnoodleScramblesPuzzleRegistry_get_THREE())"
#endif /* Bridging_Header_h */在我的项目构建设置中,我导入了t面条-lib-objc内容,就像它在github页面上说的那样。我不知道如何使用这个来生成扰码,因为你似乎会在java中这样做,而且我也不知道如何将它从java传输到swift。
发布于 2022-12-01 03:23:44
我认为理解桥接标题的作用是很好的。由于我们使用的是Objective代码,我们需要“桥接”这段代码,以便它可以在Swift中使用,- this是桥接头的目的。它只应充当我们所需的目标-C代码的中间部分,即导入语句。
对于非常简单的基本方法,桥接头应该如下所示:
#ifndef Bridging_Header_h
#define Bridging_Header_h
#import "org/worldcubeassociation/tnoodle/scrambles/PuzzleRegistry.h"
#import "org/worldcubeassociation/tnoodle/scrambles/Puzzle.h"
#endif这使我们可以访问tnoodle难题和PuzzleRegistry组件。
从这里开始,在我们的Swift代码-在您的主程序的任何地方,您应该能够调用扰码器。例如:
OrgWorldcubeassociationTnoodleScramblesPuzzleRegistry.TWO.getScrambler().generateScramble().TWO是置乱型,可以是.THREE型、SQ1型、任意炒面型。如果您引用their,您可以看到他们如何用方法定义他们的Puzzle。每个“益智类型”都有一个.getScrambler()方法,该方法返回一个OrgWorldcubeassociationTnoodleScramblesPuzzle对象,然后可以调用.generateScramble()。这将生成对您选择的益智类型的争夺。
请注意,返回的对象是可选的,您需要展开才能获得字符串。
https://stackoverflow.com/questions/74617392
复制相似问题