标签: nsdata

NSFileHandle -readDataOfLength: 返回自动释放的 NSData 吗?

当我调用readDataOfLength:实例时NSFileHandle,是否需要释放返回的NSData?目前我还没有,但我想摆脱这个挥之不去的疑虑。

cocoa objective-c nsdata nsfilehandle

1
推荐指数
1
解决办法
1589
查看次数

如何将 bool 转换为 NSData

我发现这篇文章将 a 转换IntNSData

它说要这样做:

var foo: Int = 1000
let data = NSData(bytes: &foo, length: sizeof(Int))
Run Code Online (Sandbox Code Playgroud)

Bool我想知道,我是否应该对将 a 转换为同样的想法NSData,如下所示:

 var purchase: Bool = true
 let data = NSData(bytes: &purchase, length: sizeof(Bool))
Run Code Online (Sandbox Code Playgroud)

就我而言,我总是知道那Bool将是真实的。既然是这种情况,我想知道是否有一种更简单的方法将值“true”转换为对象NSData

一些背景上下文:

我将此值存储在这个库的NSData钥匙串中。

我还将把该NSData值转换回布尔值NSKeyedUnarchiver.unarchiveObjectWithData

nsdata ios nskeyedunarchiver swift

1
推荐指数
1
解决办法
6659
查看次数

将 NSData 字节顺序更改为小端

我试图找出更改我拥有的 NSData 对象的字节顺序的最佳方法。

这就是我创建它的方式

NSData *pillowData = [manufData subdataWithRange:NSMakeRange(5, 4)];
Run Code Online (Sandbox Code Playgroud)

这是枕头数据的输出

41543138
Run Code Online (Sandbox Code Playgroud)

这就是我想要的枕头数据在转换后的样子。

38315441
Run Code Online (Sandbox Code Playgroud)

基本上转换为小端。

objective-c endianness nsdata ios

1
推荐指数
1
解决办法
1538
查看次数

如何在 Swift 5 中将“Date”转换为“Data”,反之亦然?

我正在尝试在钥匙串中保存日期,并且(根据我的理解)这首先需要将Date对象转换为Data对象。

这个 Stack Overflow Q/A解释了如何在 Swift 3 中做到这一点(或至少是其中的一部分),但我希望有人可以提供 Swift 5 中的 to/from 函数(因为该解决方案中至少有一种方法)已被弃用,我担心其他东西也没有经受住时间的考验)。

keychain nsdata swift swift5

1
推荐指数
1
解决办法
988
查看次数

NSMutabledata.为什么保留计数比我预期的要高1?

我每天都在尝试使用牙线,进行锻炼,并确保在保留和释放之间保持平衡.

这让我感到困惑.我有一个伊娃:

NSMutabledata *_alignmentData 
Run Code Online (Sandbox Code Playgroud)

以及与之相关的综合属性:

// .h file
@property (nonatomic, retain) NSMutableData *alignmentData;

// .m file
@synthesize alignmentData=_alignmentData;
Run Code Online (Sandbox Code Playgroud)

我开始异步从服务器中提取数据:

self.connection = 
[[[NSURLConnection alloc] initWithRequest:theRequest delegate:self] autorelease];
Run Code Online (Sandbox Code Playgroud)

并在分配了一个数据缓冲区后立即在异步回调中使用:

// This prints 0. Cool.
NSLog(@"BEFORE [_alignmentData retainCount] = %d", [_alignmentData retainCount]);

// Create a place to receive the data that will arrive asynchronously:
self.alignmentData = [NSMutableData data];

// This prints 2. Shouldn't this be 1 ?!?
NSLog(@" AFTER [_alignmentData retainCount] = %d", [_alignmentData retainCount]);
Run Code Online (Sandbox Code Playgroud)

为了使在上面分配self.alignmentData之后触发的第一个异步回调中的问题复杂化,我再次检查保留计数:

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {

    // …
Run Code Online (Sandbox Code Playgroud)

iphone release objective-c retain nsdata

0
推荐指数
2
解决办法
1853
查看次数

如何防止构建警告:"NSData可能无法响应'dataWithBase64EncodedString:'"

以下代码生成此生成警告:

NSData可能无法响应'dataWithBase64EncodedString:'

代码:

NSString * message = @"string string string";

NSData *data= [NSData  dataWithBase64EncodedString:(NSString *)message];
Run Code Online (Sandbox Code Playgroud)

如何解决此问题以删除此警告?

iphone build-process nsdata

0
推荐指数
1
解决办法
4616
查看次数

对于没有数据返回的网络摄像头,使用NSURLRequest + NSURLConnection似乎有点过分

所有,

这似乎非常简单,但我已经通过URL加载系统程序指南和各种NSURL ....类,但没有找到我的答案.

我只是想从应用程序到网站进行一个简单的电话预订派对点:

NSString *path=[NSString stringWithFormat:@"http://www.myparty123.com/ireservedURL.asp?Nickname=%@&Seat=%i&Email=%@&Currentparty=%i",john,5432,john@yahoo.com,6598];
NSURL* reservationURL =[NSURL URLWithString:path];
NSData *call= [NSData dataWithContentsOfURL:reservationURL];   
Run Code Online (Sandbox Code Playgroud)

这似乎是一个简单的方法,但我得到这个警告,我没有使用"调用"变量.使用NSData进行调用似乎有点过分,因为没有数据返回.

然而,创建NSURLRequest并启动NSURLConnection然后使用该请求实现委托似乎也是过度的.

我错过了什么

谢谢九巴

nsurlconnection nsdata nsurlrequest ios

0
推荐指数
1
解决办法
451
查看次数

如何将CGPDFDocument/CGPDFPage附加到MFMailComposeViewController

我有一个存储在本地存储上的多页PDF文档.我想从该pdf文档中提取任何页面并将其转换为NSData以将其附加到"MFMailComposeViewController".使用以下代码行,我可以轻松地检索所需的页面...

CGPDFDocumentRef pdfDoc=CGPDFDocumentCreateWithURL(pdfURL);
CGPDFPageRef pdfPage = CGPDFDocumentGetPage(pdfDoc, pageNumber);
Run Code Online (Sandbox Code Playgroud)

但我无法找到转换pdfPage成的方式,NSData以便我可以用邮件附加它.

注意:要求是以PDF格式附加页面,因此请不要建议将PDF转换为PNG或JPEG.

core-graphics nsdata cgpdfdocument ios mfmailcomposeviewcontroller

0
推荐指数
1
解决办法
2884
查看次数

dataWithContentsOfURL需要很长时间才能返回url中的大量单词

我有这个代码下载网址的内容.url的内容只是指向另一个url的链接,因此根本不需要很长时间才能下载:

NSString *additional = @"test string"; 
NSString *urlString = [NSString stringWithFormat:@"http://tts-api.com/tts.mp3?&return_url=1&q=%@", additional];
    NSLog(@"string: %@", urlString);
    NSString *modifiedURLString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSLog(@"modified url string: %@", modifiedURLString);
    NSURL *url = [NSURL URLWithString:modifiedURLString];
    NSLog(@"url: %@", url);
    NSData *data = [NSData dataWithContentsOfURL:url];
    NSLog(@"data length: %i", data.length);
Run Code Online (Sandbox Code Playgroud)

数据总是需要大约20秒才能返回,并且它出来的长度总是很小(应该是这样).这是日志:

string: http://tts-api.com/tts.mp3?&return_url=1&q=test string
modified url string: http://tts-api.com/tts.mp3?&return_url=1&q=test%20string
url: http://tts-api.com/tts.mp3?&return_url=1&q=test%20string
data length: 69
Run Code Online (Sandbox Code Playgroud)

有趣的是,如果我将附加字符串作为单个单词,例如"test",它可以在几分之一秒内完成.

有多个单词的任何想法都会减慢我的速度?

url objective-c nsdata ios

0
推荐指数
1
解决办法
1050
查看次数

如何在swift中比较NSDATA字节

我从这里得到文件大小:

 let docummentdata: NSData = NSFileManager.defaultManager().contentsAtPath(path)!
Run Code Online (Sandbox Code Playgroud)

现在我想要的是docummentdata大小是否大于10MB.我想做点什么,还有别的什么.我试过这样做:

 var result: Int = Int(docummentdata.length)
Run Code Online (Sandbox Code Playgroud)

并做到了

   if docummentdata.length < 1e+7{
       print("compared") 
     }
else
{ print("not compared")
}
Run Code Online (Sandbox Code Playgroud)

我得到了这样的东西

二元运算符<不能应用于Int和Double类型的操作数 如何比较字节和执行程序?

nsdata ios swift

0
推荐指数
1
解决办法
648
查看次数