我想知道是否有可能在使用NSKeyedArchiver将其编码为NSMutableData之后通过蓝牙发送UIImage.这就是我的想法:
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[archiver encodeObject:[UIImage imageNamed:"test.png" forKey:kImageKey];
[archiver finishEncoding];
Run Code Online (Sandbox Code Playgroud) 我希望在将图像存储为NSData对象之前压缩图像.
下面是代码,它可以帮助我获取NSDataImage的对象.
NSURL *referenceURL = [info objectForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibrary *library1 = [[ALAssetsLibrary alloc] init];
[library1 assetForURL:referenceURL resultBlock:^(ALAsset *asset)
{
int byteArraySize = asset.defaultRepresentation.size;
NSMutableData* rawData = [[NSMutableData alloc]initWithCapacity:byteArraySize];
void* bufferPointer = [rawData mutableBytes];
NSError* error=nil;
[asset.defaultRepresentation getBytes:bufferPointer fromOffset:0 length:byteArraySize error:&error];
if (error) {
NSLog(@"%@",error);
}
rawData = [NSMutableData dataWithBytes:bufferPointer length:byteArraySize];
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我目前在NSOperation中有以下代码,它有一个keyPath"isCancelled"的观察者:
downloaded = FALSE;
NSURL *url = [NSURL URLWithString:requestString];
dataXML = [[NSData alloc] initWithContentsOfURL:url];
downloaded = TRUE;
Run Code Online (Sandbox Code Playgroud)
我想这样做,以便observeValueForKeyPath函数能够取消dataXML继续或只是在NSOperation发送取消消息后完全停止NSOperation.NSOperation的取消操作取消仅通知操作它应该停止,但不会强制我的操作代码停止.
在我的应用程序中,用户可以从相册或相机中选择一张照片,在那里我可以获得uiimage表示.由于专辑可能有来自网络的图片,因此文件类型不仅仅是jpg.然后我需要将它发送到服务器而不转换.在这里我只能使用nsdata.
我知道UIImageJPEGRepresentation和UIImagePNGRepresentation,但我认为这两种方法可能会转换原始图像.也许当质量设置为1 UIImageJPEGRepresentation可以获得原始图片?
有没有什么方法可以获得原始的uiimage nsdata?
我使用json从我的ipad向服务器发布数据.但随着我的数据,我需要能够发送图像.我试图将我的图像数据添加到字典并将其解析为json,但json不喜欢nscfdata.将图像发布到服务器的最简单方法是什么?从与此主题相关的其他帖子中,人们一直在转换为base64.我是否必须这样做,还是有另一种更容易或更快的方式?如果我必须编码到base64有任何教程吗?
我尝试了下面的代码,它无法正常工作.我试图测试是否NSData为nil分配给图像.这是我试过的代码:
NSData * imageData = [NSData dataWithContentsOfURL:imageURL];
NSLog(@"image data %@",imageData);
if ( imageData== nil) {
NSLog(@"NO IMAGE");
imageSection.image = [UIImage imageNamed:@"noPic"];
}else{
imageSection.image = [UIImage imageWithData:imageData];
}
Run Code Online (Sandbox Code Playgroud)
当图像不存在时,记录的图像数据将返回以下响应:
imageData <>
Run Code Online (Sandbox Code Playgroud)
所以我想知道如何检查NSData是否包含这个.
我有一个NSData对象,其中包含<64>哪个应该代表int 100
如何将此NSData转换为int?
我可以将它转换为Chr等效d使用
NSString *string = [[NSString alloc] initWithData:characteristic.value encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)
但我需要Dec相当于100
谢谢
我正在向服务器发出post请求以验证登录尝试.如果尝试有效,则会从NSdata块中的服务器返回一些信息.我希望能够将其分解为json对象,以便我可以轻松地解析它.
func connectToServerAndGetCookie(username: String, password: String) -> NSString {
var url = "********"
var request = HTTPTask()
var parameters = ["username": username, "password": password]
var cookies = ""
request.requestSerializer = JSONRequestSerializer()
request.POST(url, parameters: parameters, success: {(response: HTTPResponse) in
if response.responseObject != nil {
let data = response.responseObject as NSData
var jsonError: NSError?
let str = NSString(data: data, encoding: NSUTF8StringEncoding)
////////////////// here is where it fails on the nsjsonserialization. the error:
//////////////////Cannot convert the expression's …Run Code Online (Sandbox Code Playgroud) 我有
var images: [NSData] = [];
Run Code Online (Sandbox Code Playgroud)
我需要在执行for循环块的过程中向此数组添加空值,然后将这些空值替换为我从服务器下载的映像的NSData上的值。
如何将空值附加到NSData-array?
我尝试过类似... as! NSData或创建变量someVar: NSData?-每次应用崩溃
我写了一小段常用代码,但发现我的代码没有从这行代码返回服务器的十六进制数据:
let currentData = try! Data(contentsOf: fullURL!)
print("currentData=", currentData)
Run Code Online (Sandbox Code Playgroud)
并输出:
currentData= 24419 bytes
Run Code Online (Sandbox Code Playgroud)
我试图使用Leo的评论链接:
stackoverflow.com/q/39075043/2303865
我得到一些没有空格的十六进制数据,验证器(http://jsonprettyprint.com)无法识别它并返回null.
nsdata ×10
ios ×6
swift ×3
iphone ×2
json ×2
arrays ×1
compression ×1
decimal ×1
hex ×1
if-statement ×1
image ×1
int ×1
nsoperation ×1
swift3 ×1
uiimage ×1
uiimageview ×1
xcode ×1