标签: nsdata

如何将NSDictionary转换为NSData作为plist(不保存字典)

有没有人知道如何将NSDictionary对象转换为NSData对象作为plist而不先保存字典?我希望我的iPhone应用程序发送一封电子邮件,其中包含附有我的字典的plist.我目前正在使用skpsmtpmessage http://code.google.com/p/skpsmtpmessage/来发送电子邮件.

提前致谢

iphone objective-c nsdictionary nsdata

9
推荐指数
2
解决办法
1万
查看次数

NSSet到NSData,然后再次退出,为GameKit?

我正在尝试在不同的iPhone上运行的两个相同的应用程序之间进行一些图像编辑同步.我想将NSSet*从一个设备发送到另一个设备(我想这涉及封装在NSData中)然后将其解密回NSSet,然后在touchesMoved类型的函数中使用它.这是可行的,还是我应该同步UIImages?我担心UIImage同步对于实时交互会有太多的延迟.

谢谢你的帮助!

iphone nsdata gamekit nsset iphone-sdk-3.0

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

NSData dataWithContentsOfURL缓存

NSData + dataWithContentsOfURL默认有任何缓存吗?有没有人用这种方法试验过某种问题,从网上获取数据的最有效方法是什么?

iphone caching nsdata

9
推荐指数
4
解决办法
6679
查看次数

iOS:从照片库中选择一个GIF,转换为NSData以用于multipart/form-data

我的代码目前正在使用什么:

我从照片库中选择了JPG或PNG(使用标准的ImagePicker方法),并使用以下方法将该图像转换为NSData:

self.myImageData = UIImageJPEGRepresentation(myImage, 0.9); 
Run Code Online (Sandbox Code Playgroud)

然后我使用multipart/form-data将其发布到服务器.

我现在想要为GIF做同样的事情,同时保留原始的GIF数据(以便动画GIF进入图书馆,恢复出来仍然是动画).

在didFinishPickingMediaWithInfo中,我可以使用原始GIF的URL

self.myGIFURL = [info objectForKey:UIImagePickerControllerReferenceURL]. 
Run Code Online (Sandbox Code Playgroud)

这是一个可能让我得到的例子:

资产库://asset/asset.GIF ID = 1000000034&EXT = GIF

以下是我现在尝试将此GIF推送到NSData的两种方法,每次myImageData显示(null).

我试过使用initWithContentsOfURL:

NSData *dataFromGIFURL = [[NSData alloc] initWithContentsOfURL: myGIFURL];
self.myImageData = dataFromGIFURL;
[dataFromGIFURL release];
Run Code Online (Sandbox Code Playgroud)

然后我尝试将NSURL转换为initWithContentsOfFile的字符串:

NSString *stringFromURL = [NSString stringWithFormat:@"%@", myGIFURL];
NSData *dataFromGIFURL = [[NSData alloc] initWithContentsOfFile: stringFromURL];
self.myImageData = dataFromGIFURL;
[dataFromGIFURL release];
Run Code Online (Sandbox Code Playgroud)

有什么建议?谢谢.

iphone gif nsdata

9
推荐指数
2
解决办法
8233
查看次数

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

将NSData转换为NSDictionary

我从XML文件中获取数据,并将其存储在NSData对象中.我想将NSData转换为NSDictionary并将该数据存储在plist中.

我的代码如下:

NSURL *url = [NSURL URLWithString:@"http://www.fubar.com/sample.xml"];
    NSData *data = [NSData dataWithContentsOfURL:url]; 
    NSLog(@"%@", data);
Run Code Online (Sandbox Code Playgroud)

要转换数据,我使用:

- (NSDictionary *)downloadPlist:(NSString *)url {
    NSMutableURLRequest *request  = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:10]; 
    NSURLResponse *resp = nil;
    NSError *err = nil;
    NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&resp error:&err];

    if (!err) {
        NSString *errorDescription = nil;
        NSPropertyListFormat format;
        NSDictionary *samplePlist = [NSPropertyListSerialization propertyListFromData:responseData mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&errorDescription];

        if (!errorDescription)
            return samplePlist;

        [errorDescription release];              
    }

    return nil;
}
Run Code Online (Sandbox Code Playgroud)

谁能告诉我怎么做?

xml nsdictionary nsdata ios

9
推荐指数
2
解决办法
1万
查看次数

从完成处理程序中获取NSURLSession DownloadTaskWithRequest中的数据

所以我很难理解某些东西.这是我对NSURSession的理解:

  • 一般来说,我有2个选项(据我所知)DataTask(ex dataTaskWithRequest)DownloadTask(ex DownloadTaskWithRequest) - 使用他们的委托方法,使用完成处理程序,不能两者兼顾.我已经设法使用dataTaskWithRequest接收DATA,如下所示:

    let request = NSMutableURLRequest(URL: dataSourceURL!)
    request.HTTPMethod = "POST"
    
    let postString = "lastid=\(id)"
    request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
    let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
        data, response, error in
    
        if error != nil {
            println("error=\(error)")
            return
        }
        if data != nil {
            println("works")
            //Handle data
    
    
        }
        //println("response = \(response)")
    
    
    }
    task.resume()      
    
    Run Code Online (Sandbox Code Playgroud)

它完美地运作.问题是我需要将数据下载到磁盘而不是下载到内存(我正在下载图像).所以我尝试使用DownloadTaskWithRequest +他的完成处理程序,我注意到他所采用的参数是相同的,期望第一个是NSURL,而DataTaskWithRequestNSData,因此它使事情变得非常简单.恩.

 let task2 = NSURLSession.sharedSession().downloadTaskWithRequest(request, completionHandler: { (location : NSURL!, response : …
Run Code Online (Sandbox Code Playgroud)

nsdata ios nsurlsession nsurlsessiondownloadtask swift

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

如何将Base64字符串转换为NSData?

我有一个iOS应用程序(用Swift编写),它以JSON格式从wcf服务中检索数据.其中一个数据是存储为base64string的图像.但是,我无法将base64string转换为NSData.

我的主要目的是将base64string一直转换为blob,以便我可以将其保存在数据库中.另一方面,如果您知道至少部分内容(例如从base64stringNSData)会有所帮助.

以下代码将为您提供我的表的想法

let ItemsDB = Table("Items")
let idDB = Expression<String>("ID")
let nameDB = Expression<String>("Name")
let catDB = Expression<String>("Category")
let uomDB = Expression<String>("UOM")
let priceDB = Expression<Double>("Price")
let imageDB = Expression<Blob>("Image")
let actDB = Expression<Bool>("Active")
Run Code Online (Sandbox Code Playgroud)

blob nsdata ios swift

9
推荐指数
2
解决办法
5831
查看次数

数据与 [UInt8]

Swift 提供Data[UInt8]类型,它们的作用非常相似。

  • 两者之间有什么区别?
  • 在设计新 API 时,首选类型是什么?

nsdata swift

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

将base64数据解码为图像

此代码不再适用于Swift 3.

imageData = NSData(base64EncodedString: mediaFile, options: NSDataBase64DecodingOptions.fromRaw(0)!)
Run Code Online (Sandbox Code Playgroud)

这是一个.

imageData = NSData(base64EncodedString: mediaFile, options: .allZeros)
Run Code Online (Sandbox Code Playgroud)

base64 uiimage nsdata swift3 xcode8

9
推荐指数
2
解决办法
1万
查看次数