iOS框架概念:QR码扫描

时间:2015-01-27 12:56:47

标签: ios frameworks qr-code

我一直在阅读framework tutorial,因为我需要通过将实现打包到框架中来分离UI和实现。我正在努力抓住这个概念。

例如,我需要创建一个QR框架,当我点击一个按钮时,它将启动QR页面>抓住文本字符串>将其填充到标签中。

appCoda中的代码,如何分隔用户界面?如何关于相机屏幕视图(UI / Framework中的代码)?

框架可以包含其他框架吗?

更新 我试图抓住QR,但将框架与QR合并。

我收到错误:

NSBundle </var/mobile/Containers/Bundle/Application/5B97C76C-06E0-4E5A-821C-502477239962/UIControlDevApp.app/RWUIControls.bundle> (not yet loaded)

在这一行

NSBundle *bundle = [NSBundle bundleWithURL:[[NSBundle mainBundle] URLForResource:@"RWUIControls" withExtension:@"bundle"]];

我已将我的源代码包含在here中。

1 个答案:

答案 0 :(得分:2)

坚持并继续阅读教程。它们非常丰富,需要付出一些努力。框架是伟大的,值得努力。特别是对于像你一次又一次使用的扫描仪这样的东西。

是的框架可以包含其他框架,他们也可以......

创建框架时,最终会得到两个输出文件。框架本身以及包含您的资源的包(这是故事板和图像文件。)

您需要将这两者添加到要使用它们的项目中。

首先通过引用您创建的任何初始化程序来初始化框架实例,并提供包名称以便它可以找到资源。

在您的框架中,您可以使用委托来返回已解码的字符串。在主应用程序(刚刚初始化的应用程序)中注册您的类实例,以接收来自框架的委托消息。

最后将视图控制器从框架推入堆栈,以便在主应用程序中显示。

 self.qrScanner = [[QRScanner alloc] initWithBundleName:@"QRSCanner.bundle" navigationControllerRequired:NO];
self.qrScanner.delegate = self;
if ([self.delegate respondsToSelector:@selector(pushCustomViewController:)])
{
[self.delegate pushCustomViewController:self.qrScanner.qrScannerMainViewController];
}

这是这三个步骤的简短代码示例。假设您已经创建了框架和捆绑包,这将允许您从主应用程序中引用它们。