- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
所以我在一个方法中调用它:
-(id)initWithContentURL:(NSString *)url {
if (self = [super init]) {
NSLog(@"xSheetMusicViewController - %@",url);
// Casting an NSString object pointer to a CFStringRef:
CFStringRef cfString = (CFStringRef)url;
CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), cfString, NULL, NULL);
pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
}
return self;
}
在标记行的 NSLog 处崩溃:
CFURLRef pdfURL = CFBundleCopyResourceURL(CFBundleGetMainBundle(), cfString, NULL, NULL);
我以前从未见过这个奇妙的小错误。这是崩溃日志:
SheetMuse[83550:b603] -[NSURL _fastCharacterContents]: unrecognized selector sent to instance 0x4ec35f0
2011-09-22 17:36:22.921 SheetMuse[83550:b603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSURL _fastCharacterContents]: unrecognized selector sent to instance 0x4ec35f0'
*** Call stack at first throw:
(
0 CoreFoundation 0x011be5a9 __exceptionPreprocess + 185
1 libobjc.A.dylib 0x01312313 objc_exception_throw + 44
2 CoreFoundation 0x011c00bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187
3 CoreFoundation 0x0112f966 ___forwarding___ + 966
4 CoreFoundation 0x0112f522 _CF_forwarding_prep_0 + 50
5 CoreFoundation 0x010d2857 CFStringGetCharactersPtr + 135
6 CoreFoundation 0x010d6c93 CFStringGetFileSystemRepresentation + 35
7 CoreFoundation 0x01110811 _CFFindBundleResources + 289
8 CoreFoundation 0x0110d961 CFBundleCopyResourceURL + 305
9 SheetMuse 0x00005b19 -[xSheetMusicViewController initWithContentURL:] + 153
10 SheetMuse 0x00009724 -[ExamplesViewController tableView:didSelectRowAtIndexPath:] + 708
11 UIKit 0x00487b68 -[UITableView _selectRowAtIndexPath:animated:scrollPosition:notifyDelegate:] + 1140
12 UIKit 0x0047db05 -[UITableView _userSelectRowAtPendingSelectionIndexPath:] + 219
13 Foundation 0x00b9779e __NSFireDelayedPerform + 441
14 CoreFoundation 0x0119f8c3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 19
15 CoreFoundation 0x011a0e74 __CFRunLoopDoTimer + 1220
16 CoreFoundation 0x010fd2c9 __CFRunLoopRun + 1817
17 CoreFoundation 0x010fc840 CFRunLoopRunSpecific + 208
18 CoreFoundation 0x010fc761 CFRunLoopRunInMode + 97
19 GraphicsServices 0x028a31c4 GSEventRunModal + 217
20 GraphicsServices 0x028a3289 GSEventRun + 115
21 UIKit 0x0041ec93 UIApplicationMain + 1160
22 SheetMuse 0x000028a9 main + 121
23 SheetMuse 0x00002825 start + 53
)
terminate called throwing an exceptionsharedlibrary apply-load-rules all
那么,这是什么错误,我该如何解决?
编辑:这个问题已经解决了。谢谢大家回答,我正在用头撞墙试图解决这个问题。如果你愿意,我可以在应用程序中提及你,因为我想在几周内发布它,你的帮助已经解决了代码中最大的错误。再次感谢您!
最佳答案
-_fastCharacterContents:
是NSString
的私有(private)方法。您得到的错误表明相应的消息被发送到 NSURL
实例,因此崩溃。看起来传递给 -initWithContentURL:
的 url
参数是一个 NSURL
,而不是 NSString
。
放置
NSLog(@"url is of type %@", [url class]);
在方法的开头应该告诉你 url
的确切类。
我建议您将方法签名更改为:
- (void)initWithContentPath:(NSString *)path
为了明确表示该方法需要一个表示(相对)路径的字符串。 Cocoa Touch 中还有其他类声明 -initWithContentURL:
以接收 NSURL *
参数。
关于ios - 什么是-[NSURL _fastCharacterContents] :?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7522766/
我正在尝试与 facebook 共享数据。除了本地存储在 iPhone 内存中的图像外,我能够共享数据。但是,当我尝试使用参数@“source”共享本地存储的图像时,我的应用程序因错误“[NSConc
所以我在一个方法中调用它: -(id)initWithContentURL:(NSString *)url { if (self = [super init]) { NSLog(@"xShee
我正在使用此处找到的钥匙串(keychain)包装器: https://gist.github.com/1170641 像这样: .h : #import "KeychainItemWrapp
我是一名优秀的程序员,十分优秀!