【发布时间】:2013-05-12 03:45:54
【问题描述】:
我正在使用以下代码从 iphone 应用程序创建 pdf,但是当我调用此方法时,它给出了异常。我从网站获得了此代码。
这里是代码
-(void)createPDFfromUIView:(UIView*)aView saveToDocumentsWithFileName:(NSString*)aFilename
{
// Creates a mutable data object for updating with binary data, like a byte array
NSMutableData *pdfData = [NSMutableData data];
// Points the pdf converter to the mutable data object and to the UIView to be converted
UIGraphicsBeginPDFContextToData(pdfData, aView.bounds, nil);
UIGraphicsBeginPDFPage();
CGContextRef pdfContext = UIGraphicsGetCurrentContext();
// draws rect to the view and thus this is captured by UIGraphicsBeginPDFContextToData
[aView.layer renderInContext:pdfContext];
// remove PDF rendering context
UIGraphicsEndPDFContext();
// Retrieves the document directories from the iOS device
NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString* documentDirectory = [documentDirectories objectAtIndex:0];
NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:aFilename];
// instructs the mutable data object to write its context to a file on disk
[pdfData writeToFile:documentDirectoryFilename atomically:YES];
NSLog(@"documentDirectoryFileName: %@",documentDirectoryFilename);
}
我在这里调用这个方法
[self createPDFfromUIView:self.view];
我认为问题在于调用方法时的参数传递。 谢谢
这里是由于未捕获的异常“NSInvalidArgumentException”而终止应用程序的异常,原因:“-[MainViewController createPDFfromUIView:]: unrecognized selector sent to instance 0x613a950”
【问题讨论】:
-
这是什么异常请分享一下。
-
@Impossible 这里是由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序的异常,原因:'-[MainViewController createPDFfromUIView:]: unrecognized selector sent to instance 0x613a950'
-
您必须通过函数调用传递 pdf 名称,例如 [self createPDFfromUIView:self.view saveToDocumentsWithFileName:@"Test"];
-
@Impossible 再次异常终止应用程序由于未捕获的异常'NSInvalidArgumentException',原因:'-[MainViewController createPDFfromUIView::]:无法识别的选择器发送到实例 0x6156660'
-
@Impossible 感谢它的工作,但它不显示全部内容它只是显示视图的一部分