我如何获取UIImage并将其存储为NSData(写入文件)?有没有明显的方法,或者有人可以提供代码片段?
提前致谢!
PS.我的下一个问题可能是用于捕获当前屏幕图像的代码段.到目前为止,我看到的片段似乎对我需要的东西严重矫枉过正.
NSMutableData *requestData = (NSMutableData*)[request responseData];
Run Code Online (Sandbox Code Playgroud)
回报
"[{JSON_STRING}]"
所以我想删除"["/"]"而不转换为NSString然后再转回NSData.最简单的方法是去除第一个和最后一个字节.
[requestData setLength:[requestData length]-1]; 删除最后一个字节.
如何删除第一个字节?我尝试了下面的解决方案,但不起作用..
NSRange range = {0, 1};
[requestData resetBytesInRange:range];
Run Code Online (Sandbox Code Playgroud) 我有一个相当大的NSData(或NSMutableData,如果有必要)对象,我想从一个小块中取出并离开其余部分.由于我正在使用大量的NSData字节,我不想制作大的副本,而只是截断现有的字节.基本上:
NSMutableData中有截断方法,但它们只截断它的结尾,而我想截断开头.我的想法是用这些方法做到这一点:
请注意,我在原始发布中使用了错误的(复制)方法.我已经编辑并修复了它
- (const void *)bytes
Run Code Online (Sandbox Code Playgroud)
和
- initWithBytesNoCopy:length:freeWhenDone:
Run Code Online (Sandbox Code Playgroud)
但是,我正在试图弄清楚如何用这些管理内存.我猜这个过程会是这样的(我把它放在哪里,我不知道该怎么做):
// Get bytes
const unsigned char *bytes = (const unsigned char *)[source bytes];
// Offset the start
bytes += myStart;
// Somehow (m)alloc the memory which will be freed up in the following step
?????
// Release the source, now that I've allocated the bytes
[source release];
// Create a new data, recycling the bytes so they don't have to be copied
NSData destination = …Run Code Online (Sandbox Code Playgroud) 嘿我完全超出了我的深度,我的大脑开始受伤... :(
我需要转换一个整数,以便它适合3字节数组.(是24位int?)然后再返回通过套接字从字节流发送/接收这个数字
我有:
NSMutableData* data = [NSMutableData data];
int msg = 125;
const void *bytes[3];
bytes[0] = msg;
bytes[1] = msg >> 8;
bytes[2] = msg >> 16;
[data appendBytes:bytes length:3];
NSLog(@"rtn: %d", [[[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding] intValue]);
//log brings back 0
Run Code Online (Sandbox Code Playgroud)
我想我的主要问题是我不知道如何检查我确实正确地转换了我的int,这也是我需要做的转换以及发送数据.
任何帮助非常感谢!
我有一些透明的图像,我从文件系统加载到UIImageView视图中.出于我的目的,我需要UIImageView将文件中的图像与文件系统上的文件进行比较.所以我做了类似以下的事情:
NSString *directoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *imageFile = [NSString stringWithFormat:@"%@/image.png", directoryPath];
if ([[NSData dataWithContentsOfFile:imageFile] isEqualToData:UIImagePNGRepresentation([imageView image])]) {
NSLog(@"Equal");
} else {
NSString *dataDescription = [[[NSData dataWithContentsOfFile:feltFile] description] substringToIndex:100];
NSString *imageDescription = [[UIImagePNGRepresentation([backgroundImageView image]) description] substringToIndex:100]
NSLog(@"Unequal: %@ %@", dataDescription, imageDescription);
}
Run Code Online (Sandbox Code Playgroud)
我知道他们是PNG图像.打印时,这两个描述都不是NULL.但他们是不平等的.
为什么会这样?
我无法使用工厂方法创建的UIColor(带有模式)创建NSData对象
[UIColor colorWithPatternImage:image]
适用于标准UIColor对象.想知道是否有另一种方法可以将带有模式的UIColor保存到Core Data中.
我使用以下代码存档UIColor(带图案)...
- (id)transformedValue:(id)value {
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:value];
return data;
Run Code Online (Sandbox Code Playgroud)
}
这些是我收到的错误......
-[NSKeyedArchiver dealloc]: warning: NSKeyedArchiver deallocated without having had -finishEncoding called on it.
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Only support RGBA or the White color space, this method is a hack.'
Run Code Online (Sandbox Code Playgroud) 对此可能有一个非常简单的答案,但我似乎无法指责它.
我正在使用(见下文)获取网址的内容
NSData *data = [NSData dataWithContentsOfURL:webURL];
Run Code Online (Sandbox Code Playgroud)
我想要做的是以可读的形式显示此NSData,而不是十六进制表示.
我试图从互联网上下载数据到iOS中的NSData.
当我从互联网上下载数据时,我看不到从服务器下载了多少百分比.
我没有使用UIWebView.
.mp3使用NSData从Internet 下载sound().
我还能知道从互联网上下载了多少数据吗?
提前致谢.
我正在尝试使用蓝牙在2个设备之间传输数据.设备A持有自定义NSObject.设备B正在接收此自定义NSObject作为NSData.
将收到的NSData解码为自定义NSObject的最佳方法是什么?
谢谢!
我的问题是下一个>我必须从外部附件接收数据并保存到一个大的NSData,每次我收到一个流我必须将其复制NSData到另一个:
CompleteNSData = NSDataTx1 + NSDataTx2 + NSDataTx3;
Run Code Online (Sandbox Code Playgroud)
最后向用户显示整个信息.