- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的应用不断崩溃并显示以下消息:
* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[NSConcreteMutableData base64EncodedStringWithOptions:]: 无法识别的选择器发送到实例 0x776e920”
这是部分代码。任何帮助将不胜感激:
-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
// Saving the image in the uiimage "myImage".
UIImage *myImage = [info objectForKey:UIImagePickerControllerOriginalImage];
NSString *imageString = [self encodeToBase64String:myImage];
[self dismissViewControllerAnimated:YES completion:NULL];
}
- (NSString *)encodeToBase64String:(UIImage *)image{
NSString * test = [UIImagePNGRepresentation(image) base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
return test;
}
我已经检查过,UIImage 中有一个图像。谢谢。
最佳答案
base64EncodedStringWithOptions:
从 iOS 7 和 OS X 10.9 开始可用。
“无法识别的选择器”异常可能意味着您在一个较早的 iOS 版本,其中该方法不可用。
有 3rd 方库可用,它们提供类似的方法并且可以使用相反,如果您必须支持 iOS 6 或 5(例如 https://github.com/nicklockwood/Base64)。
NSData
文档还指出有一个 base64Encoding
方法(及其对应的 initWithBase64Encoding:
)
Although this method was only introduced publicly for iOS 7, it has existed since iOS 4; you can use it if your application needs to target an operating system prior to iOS 7. This method behaves like base64EncodedStringWithOptions:, but ignores all unknown characters.
(所以iOS似乎很早就有一个NSData
到Base64的转换,但是它从未被公开记录!)
关于ios - -[NSConcreteMutableData base64EncodedStringWithOptions :]: unrecognized selector sent to instance 0x776e920',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20254982/
我正在尝试这样做: self.somestring = [@"hardcodedstring" stringByAppendingString:someotherstring]; 但我不断得到: **
我正在尝试与 facebook 共享数据。除了本地存储在 iPhone 内存中的图像外,我能够共享数据。但是,当我尝试使用参数@“source”共享本地存储的图像时,我的应用程序因错误“[NSConc
使用WeiboSDK.registerApp 函数后报错: Terminating app due to uncaught exception 'NSInvalidArgumentException'
我收到以下错误: -[NSConcreteData _isResizable]: unrecognized selector sent to instance 0x9954d30 在此代码上: UI
我在 playground 中运行以下命令(我在 Xcode 7.3.1 和 Xcode 8.1 中进行了测试并看到了相同的行为): import UIKit let key: String = "s
在我的 appdelegate 中,我设置了几个自定义 NSObject (MemoryObject) 实例并将它们存储到 NSMutableDictionary 中: - (void)setMObj
我面临 -[NSConcreteMutableData release] 的问题:消息发送到已释放的实例,我也附上了我的示例代码。 - (IBAction)uploadImage { NSString
我调用 Rest API 是为了调用我有一些参数作为字典格式并在某些时候传递给 api,我在转换子类型时崩溃了 这里是我的示例代码: let configuration = NSURLSess
我的应用不断崩溃并显示以下消息: * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[NSConcreteMutableData base64Enc
我的 iOS 应用正在使用 AFNetworking 下载一个非常大的 zip 文件(3.79GB) .我的应用程序还使用了 Flipboard 的 FLEX library 2.2 监控网络流量。一
我尝试使用以下行获取 NSURLRequest 的 header : NSString *contentType = [[(NSHTTPURLResponse *)data allHeaderFiel
我正在尝试将图像添加到我要发布到服务器上的 JSON 文件中。我正在使用以下代码,但我一直收到 Invalid type in JSON write (NSConcreteMutableData) 错
我是一名优秀的程序员,十分优秀!