我有一些代码返回新的iOS 10/Swift 3 NSData替换(?)类型:数据
if let jpegData = UIImageJPEGRepresentation(newImage, 0.8) { ... }
Run Code Online (Sandbox Code Playgroud)
我想将此映像写入磁盘,但writeToFile:此类不存在NSData的方法.它确实有一个writeToURL:方法,但似乎不适用于文件路径(和附加组件).
任何人都可以澄清我现在将如何做到这一点,就像Swift 2中的情况一样:
jpegData.writeToFile(imagePath, atomically: true)
Run Code Online (Sandbox Code Playgroud)
谢谢!
我的应用程序中有以下代码.
NSData *data=[NSData dataWithContentsOfURL:[NSURL URLWithString:pathOfThumbNail]];
Run Code Online (Sandbox Code Playgroud)
pathOfThumbNail具有以下路径
http://70.84.58.40/projects/igolf/TipThumb/GOLF 58B.jpg
当我在safari浏览器中打开上面的路径时 - 路径自动更改并且图像成功显示.
http://70.84.58.40/projects/igolf/TipThumb/GOLF%2058B.jpg
但在iPhone中,由于路径中的空间,图像未加载到nsdata中.
如何转换NSData为base64.我有NSData并希望转换成base64我该怎么做?
我一直在梳理很多关于在iOS上通过POST上传图片的帖子.尽管有关此主题的大量信息,但我无法正确上传从我的iPhone模拟器照片库中获取的JPEG数据.数据一旦在服务器上,就只是一串巨大的十六进制数据.NSData不应该只是一个字节流吗?我不知道所有的十六进制是什么,或者为什么这个代码似乎适用于其他所有人.
这是有问题的代码:
-(void)uploadWithUserLocationString:(NSString*)userLocation{
NSString *urlString = @"http://some.url.com/post";
// set up the form keys and values (revise using 1 NSDictionary at some point - neater than 2 arrays)
NSArray *keys = [[NSArray alloc] initWithObjects:@"auth",@"text",@"location",nil];
NSArray *vals = [[NSArray alloc] initWithObjects:self.authToken,self.textBox.text,userLocation,nil];
// set up the request object
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
//Add content-type to Header. Need to use a string boundary for data uploading.
NSString *boundary = [NSString stringWithString:@"0xKhTmLbOuNdArY"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; …Run Code Online (Sandbox Code Playgroud) 我试图通过iPhone上的AVAudioPlayer播放(非常短 - 少于2秒)的音频文件来消除启动延迟.
一,代码:
NSString *audioFile = [NSString stringWithFormat:@"%@/%@.caf", [[NSBundle mainBundle] resourcePath], @"audiofile"];
NSData *audioData = [NSData dataWithContentsOfMappedFile:audioFile];
NSError *err;
AVAudioPlayer *audioPlayer = [(AVAudioPlayer*)[AVAudioPlayer alloc] initWithData:audioData error:&err];
audioPlayer.delegate = self;
[audioPlayer play];
Run Code Online (Sandbox Code Playgroud)
一旦完成,我还实现了audioPlayerDidFinishPlaying方法来释放AVAudioPlayer.
我第一次播放音频时滞后是显而易见的 - 至少2秒.然而,之后立即播放声音.我怀疑那个罪魁祸首是[NSData dataWithContentsOfMappedFile]最初从闪存中读取了很长时间,但后来读取速度很快.不过,我不确定如何测试.
是这样的吗?如果是这样,我是否应该预先缓存NSData对象并积极地在低内存条件下清除它们?
我正在尝试NSLog我的NSData对象的megs数量,但是目前我所能得到的只是字节数
NSLog(@"%u", myData.length);
Run Code Online (Sandbox Code Playgroud)
那么我将如何更改此NSLog语句以便我可以看到类似的内容
2.00兆
任何帮助,将不胜感激.
所以我有这个:
NSData *charlieSendData = [[charlieImputText stringValue] dataUsingEncoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)
我知道如何将NSStrings转换为数据,但我如何将数据转换回NSString?
以利亚
我试图在swift中将一个整数数组存储到磁盘.我可以将它们放入要存储的NSData对象中,但是将它们放回到数组中是很困难的.我可以获得原始COpaquePointer的数据data.bytes但无法找到一种方法来使用该指针初始化一个新的swift数组.有谁知道怎么做?
import Foundation
var arr : UInt32[] = [32,4,123,4,5,2];
let data = NSData(bytes: arr, length: arr.count * sizeof(UInt32))
println(data) //data looks good in the inspector
// now get it back into an array?
Run Code Online (Sandbox Code Playgroud) 如何在目标c中将unsigned char数组转换为NSData?
这是我想要做的,但它不起作用.Buffer是我的unsigned char数组.
NSData *data = [NSData dataWithBytes:message length:length];
Run Code Online (Sandbox Code Playgroud) NSURL对象表示可能包含远程服务器上资源位置的URL,磁盘上本地文件的路径,甚至是任意一段编码数据.
我有一大堆内存数据,我想把它交给一个想要通过一个资源加载资源的库NSURL.当然,我可以先将它写入NSData临时文件,然后创建一个file:// NSURL,但我更喜欢让URL直接指向我已经存在于内存中的缓冲区.
上面引用的文档似乎表明这是可能的,但我找不到任何如何实现它的暗示.我错过了什么吗?