IOS-ZBARDK-应用程序崩溃,并出现-[UILabel length]:无法识别的选择器发送到实例
当我直接打开相机的QRCode视图时,它崩溃了。但是,当我在QRCode开始时不直接打开相机的视图时,它可以正常工作。我已经在一个空的应用程序中尝试了相同的代码,它工作得非常好。这种情况就是这样发生的。所有iBouts和iBaction都在工作,以下是我的代码:IOS-ZBARDK-应用程序崩溃,并出现-[UILabel length]:无法识别的选择器发送到实例,ios,objective-c,unrecognized-selector,zbar-sdk,Ios,Objective C,Unrecognized Selector,Zbar Sdk,当我直接打开相机的QRCode视图时,它崩溃了。但是,当我在QRCode开始时不直接打开相机的视图时,它可以正常工作。我已经在一个空的应用程序中尝试了相同的代码,它工作得非常好。这种情况就是这样发生的。所有iBouts和iBaction都在工作,以下是我的代码: SerialController.h: #import <UIKit/UIKit.h> #import "ZBarSDK.h" @interface SerialController : UIViewController
SerialController.h:
#import <UIKit/UIKit.h>
#import "ZBarSDK.h"
@interface SerialController : UIViewController <ZBarReaderDelegate>
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *spinner;
@property (weak, nonatomic) IBOutlet UILabel *description;
@property (weak, nonatomic) IBOutlet UIImageView *key;
@property (weak, nonatomic) IBOutlet UILabel *resultText;
@property (weak, nonatomic) IBOutlet UIActivityIndicatorView *qrSearchButton;
@property (weak, nonatomic) IBOutlet UIView *contentHolder;
@property (weak, nonatomic) IBOutlet UIImageView *turkcellLogo;
@property (weak, nonatomic) IBOutlet UIImageView *backgroundImage;
@end
SerialController.m
- (IBAction)handleQrSearchButtonTap:(id)sender {
ZBarReaderViewController *codeReader = [ZBarReaderViewController new];
codeReader.readerDelegate=self;
codeReader.supportedOrientationsMask = ZBarOrientationMaskAll;
ZBarImageScanner *scanner = codeReader.scanner;
[scanner setSymbology: ZBAR_I25 config: ZBAR_CFG_ENABLE to: 0];
[self presentViewController:codeReader animated:YES completion:nil];
}
#pragma mark - ZBar's Delegate method
- (void) imagePickerController: (UIImagePickerController*) reader didFinishPickingMediaWithInfo: (NSDictionary*) info
{
// get the decode results
id<NSFastEnumeration> results = [info objectForKey: ZBarReaderControllerResults];
ZBarSymbol *symbol = nil;
for(symbol in results)
// just grab the first barcode
break;
// showing the result on textview
self.resultText.text = symbol.data;
// dismiss the controller
[reader dismissViewControllerAnimated:YES completion:nil];
}
您不想使用名为description的属性。我只是花了几个小时试图解决完全相同的问题。描述是NSObject中的标准方法,您正在隐藏它。将其重命名为其他名称 显示堆栈跟踪的相关部分。不知何故,您有一个UILabel,可用于预期NSString的位置。请检查堆栈跟踪并确定错误的来源。