我已经将一个gif图像下载到一个NSData对象中(我已经检查了NSData对象的内容并且它已经填充了).现在我想将该图像加载到我的UIWebView中.我尝试过以下方法:
[webView loadData:imageData MIMEType:@"image/gif" textEncodingName:nil baseURL:nil];
Run Code Online (Sandbox Code Playgroud)
但我得到一个空白的UIWebView.直接从同一URL加载图像可以正常工作:
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:imageUrl]];
[imageView loadRequest:request];
Run Code Online (Sandbox Code Playgroud)
我是否需要将textEncodingName设置为某个内容,或者我是否在做其他错误的操作?
我想手动加载图像,以便向用户报告进度,但它是一个动画gif,所以当它完成后我想在UIWebView中显示它.
编辑:也许我需要以某种方式将我的图像包装在HTML中?有没有办法在不必将其保存到磁盘的情况下执行此操作?
所以我使用HTTP GET方法返回一个JSON对象数组,这些对象存储在NSData中.该数组如下所示:
[{"created_at":"2013-03-09T04:55:21Z","data_type":"image","id":5354,"latitude":37.785834,"longitude":-122.406417,"name":"tempObject","privacy":"public","radius":1000.0,"updated_at":"2013-03-09T04:55:21Z","user_id":101},{"created_at":"2013-03-10T20:57:08Z","data_type":"image","id":5364,"latitude":37.785834,"longitude":-122.406417,"name":"tempObject","privacy":"public","radius":1000.0,"updated_at":"2013-03-10T20:57:08Z","user_id":101}]
Run Code Online (Sandbox Code Playgroud)
我将如何提取这些JSON对象并从NSData中迭代它们?
我必须转换一个NSDictionary对象,NSData并且我必须NSDictionary从NSData对象中获取相同的内容.我该怎么办呢?
如果我使用dataWithBytes:length:创建一个特定大小的新NSData对象,那么创建输入字节(20 Mb值)随机字符的最有效方法是什么,最好不要从文件中读取数据?我每次都需要一个特定大小的独特缓冲区.
谢谢
在WebService中,JSON响应即将到来.在响应中,有一个图像作为字节数组出现.我必须在UIImageView中显示图像.我试图将字节数组转换为NSData.但没有得到如何做到这一点.任何帮助,将不胜感激.我确信字节数组中包含图像数据.样本字节数组供您参考:
(137,
80,
78,
71,
...
66,
96,
130)
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一个iPhone应用程序,使用CCCrypt(AES256)和明文密钥加密输入的NSString.字符串和密钥被赋予返回NSData对象的加密方法.
请求[数据描述]其中'数据'是加密的字符串数据给出一个NSString,如:"<0b368353 a707e7de 3eee5992 ee69827e e3603dc2 b0dbbc0b 861ca87d f39ce72a>"但当我尝试将其转换为NSString时,我得到"(null)".
我需要向用户返回一个NSString,它可以用于使用相同的明文密钥解密回原始字符串.如果NSData对象的'description'属性可以返回一个字符串,有什么办法可以从NSData对象生成一个NSString而不得"(null)"?
更新:感谢Quinn,他建议使用Base64编码来生成混乱的字符串.据我所知,Base64编码不只是交换字符,但字符交换取决于位置,所以没关系.
我唯一担心的是我希望能够使用'密码短语'加密消息,并且当需要解码混乱的字符串时需要输入相同的密码短语 - 任何人都可以建议实现此方法吗?
经过一番搜索,我得到了以下解决方案: 参考.
CLLocationCoordinate2D* new_coordinate = malloc(sizeof(CLLocationCoordinate2D));
new_coordinate->latitude = latitude;
new_coordinate->longitude = longitude;
[points addObject:[NSData dataWithBytes:(void *)new_coordinate
length:sizeof(CLLocationCoordinate2D)]];
free(new_coordinate);
Run Code Online (Sandbox Code Playgroud)
并将其访问为:
CLLocationCoordinate2D* c = (CLLocationCoordinate2D*) [[points objectAtIndex:0] bytes];
Run Code Online (Sandbox Code Playgroud)
但是,有人声称这里有内存泄漏?任何人都可以建议我在哪里泄漏以及如何解决它.此外,是否有更好的方法在NSMutableArray中存储CLLocationCoordinate2D列表?请提供示例代码,因为我是Objective C新手.
我正在写一个基于iOS应用程序的Mac应用程序.下面的代码将UIImage转换为NSData以上传到Parse.com.
我想为Mac做同样的事情,但我似乎无法将其转换为NSData.我该怎么办?
谢谢
var image = UIImage(named: "SmudgeInc")
let imageData = UIImagePNGRepresentation(image)
let imageFile = PFFile(name:"image.png", data:imageData)
Run Code Online (Sandbox Code Playgroud) nsimage uiimage nsdata uiimagepngrepresentation parse-platform
这是我处理服务器响应的代码.
- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSLog(@"connectionDidFinishLoading : %@", [[NSString alloc] initWithData:self.data encoding:NSUTF8StringEncoding]);
}
Run Code Online (Sandbox Code Playgroud)
这是消息服务器对我的响应,NSLog JSON显示在控制台中.
connectionDidFinishLoading : {"ErrorCode":"CssParameterException","ErrorMessage":"An error has occurred, please try again later.","Success":false}
Run Code Online (Sandbox Code Playgroud)
我的问题是:如何反序列化JSON并将其存储到局部变量中NSDictionary *jsonData?
有什么建议?请给我一些代码示例,谢谢!
我成功发送了一个NSData流.下面的委托方法是获取该流并附加到NSMutableData self.data.如何获取此数据并将其转换为UIView/AVCaptureVideoPreviewLayer(应显示视频)?我觉得我错过了另一个转换,AVCaptureSession> NSStream> MCSession> NSStream>?
- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)eventCode {
switch(eventCode) {
case NSStreamEventHasBytesAvailable:
{
if(!self.data) {
self.data = [NSMutableData data];
}
uint8_t buf[1024];
unsigned int len = 0;
len = [(NSInputStream *)stream read:buf maxLength:1024];
if(len) {
[self.data appendBytes:(const void *)buf length:len];
} else {
NSLog(@"no buffer!");
}
// Code here to take self.data and convert the NSData to UIView/Video
}
Run Code Online (Sandbox Code Playgroud)
我用这个发送流:
-(void) captureOutput:(AVCaptureOutput*)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection*)connection
{
CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer);
CVPixelBufferLockBaseAddress(imageBuffer,0);
size_t bytesPerRow = CVPixelBufferGetBytesPerRow(imageBuffer);
// size_t width = …Run Code Online (Sandbox Code Playgroud)