无法删除有关iOS 6中已弃用方法的警告

时间:2013-04-22 00:13:52

标签: ios presentmodalviewcontroller zbar-sdk zbar

我在我的应用程序中使用ZBar SDK,我可以运行得很好。但是,我收到以下警告:我无法弄明白:

"presentModalViewController:animated" is deprecated.  First deprecated in iOS 6.

我使用此行的完整方法如下:

- (IBAction) scanButtonTapped
{

// ADD: present a barcode reader that scans from the camera feed
ZBarReaderViewController *reader = [ZBarReaderViewController new];
reader.readerDelegate = self;
reader.supportedOrientationsMask = ZBarOrientationMaskAll;

ZBarImageScanner *scanner = reader.scanner;
// TODO: (optional) additional reader configuration here

// EXAMPLE: disable rarely used I2/5 to improve performance
[scanner setSymbology: ZBAR_I25
               config: ZBAR_CFG_ENABLE
                   to: 0];

// present and release the controller
//line below is deprecated
[self presentModalViewController:reader animated:YES];
//line below when I uncomment causes an error
//[self presentModalViewController: reader animated: YES completion: nil];
NSLog(@"TBD: scan barcode here...");
}

现在,我做了一些研究,发现在iOS 6中使用的更新方法是:

[self presentModalViewController: reader animated: YES completion: nil];

但是,当我在我的代码中使用此行而不是已弃用的行时,我现在收到以下错误而不是警告:

"no visible @interface for "ViewController" declares the selector 'presentModalViewController: animated: completion: '.

老实说,我不知道如何纠正这个错误,并想知道如何。我的问题是我试图纠正警告的方式吗?老实说,我不知道,也不会欣赏任何见解。

仅供参考,我从这里下载了ZBar SDK:http://zbar.sourceforge.net/iphone/sdkdoc/
并且ZBar SDK的实际文件夹仅包含头文件。

感谢所有回复的人。

1 个答案:

答案 0 :(得分:2)

这不是更新的方法。这是

[self presentViewController:reader animated:YES completion:nil];