标签: nsdata

NSData dataWithContentOfFile返回nil?

我有一个文件路径,我需要在NSData中获取该文件的数据.我在用:

NSError *err = nil;
NSData *d = [NSData dataWithContentsOfFile:file options:nil error:&err];

NSLog(@"error: %@", err);
Run Code Online (Sandbox Code Playgroud)

错误是:

 Error Domain=NSCocoaErrorDomain Code=260 "The operation couldn’t be completed. (Cocoa error 260.)" UserInfo=0x34a8f0 {NSFilePath=file://localhost/var/mobile/Applications/A19223D4-0AEF-4677-8EDD-0D2CA9A7BB73/Documents/12-03-25%2022:10:48--cc.mp4, NSUnderlyingError=0x34a560 "The operation couldn’t be completed. No such file or directory"}
Run Code Online (Sandbox Code Playgroud)

但文件/目录确实存在,因为我正在播放视频文件,它工作得很好:

MPMoviePlayerViewController *controller = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:[video filepath]]];
[self presentMoviePlayerViewControllerAnimated:controller];
Run Code Online (Sandbox Code Playgroud)

出了什么问题?谢谢

cocoa-touch objective-c nsdata ios

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

在iOS应用中下载大文件

我正在尝试清理一些现有的代码,这些代码从服务器中以块的形式下载大文件,检查每个50个数据包的校验和,然后将它们拼接在一起.我有一些麻烦,看看它是否是最有效的方式,因为内存问题,它现在崩溃了一段时间.如果我没有校验和,它似乎没有崩溃,但我希望我能先检查我的文件.

@property (nonatomic, retain) NSMutableData * ReceivedData;

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {

NSData *sequencePacketData = [[NSData alloc] initWithData:self.ReceivedData]; 
        [self ProcessPacket:sequencePacketData];
        [sequencePacketData release];
        [[NSNotificationCenter defaultCenter] postNotificationName:DownloadNotification object:self];

}

- (void)ProcessPacket:(NSData *)sequencePacketData {
  // find the directory I need to write to and the name of the file
NSString *currentChecksum = [WebServiceManager MD5CheckSumForNSData:sequencePacketData];
    BOOL checkSumValid = [dmgr ValidateChecksum:currentChecksum againstFileName:self.CurrentFileName];
    self.IsSuccessful = checkSumValid;

    if (!checkSumValid) {
        // log error msg
        return;
    }

    if (success)
    {
        NSFileHandle *handle = [NSFileHandle fileHandleForUpdatingAtPath:sequencePath];
        [handle seekToEndOfFile];
        [handle writeData:sequencePacketData]; …
Run Code Online (Sandbox Code Playgroud)

iphone web-services nsurl nsurlconnection nsdata

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

如何将*)xÿª5c'√K'Rk¬É*转换为目标C中的纯文本?

请检查这里是我的代码

int asciiCode = @"29 78 D8 BB 35 12 63 D5 C3 4B 18 D5 52 6B C2 83";
NSString *strings = [NSString stringWithFormat:@"%c", asciiCode];
NSLog(@"%c",strings);
}
Run Code Online (Sandbox Code Playgroud)

如果值为29 78 D8 BB 35 12 63 D5 C3 4B 18 D5 52 6B C2 83它应显示为india是我的字符串值,但它显示为)xÿª5c'√K'Rk¬É

iphone xcode hex nsstring nsdata

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

将图像存储在sqlite中或只是对它的引用?

我使用coredata创建了几个应用程序,我在sqlite中存储图像,但在某个地方我发现它很糟糕.我搜索了网,但我找到的只是这个建议:

  • 图像大小<100kb与相关数据存储在同一个表中
  • 图像大小<1mb存储在通过关系附加的单独表中,以避免不必要的加载
  • 图像大小> 1mb存储在磁盘上并在Core Data中引用它

所以我的问题是:在sqlite db中保存图像的优点和缺点是什么NSData,并且在图像保存在文件系统中时只存储图像的引用?

core-data objective-c uiimage nsdata ios

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

如何将NSData转换为Char?

我有一个NSdata(License_Data <0d2b3931 39323433 37363637 36360c79 70617963 6173682d 50445301 0010322d 22772a17 24599e96 88be9991 b2410106>)喜欢这个

当我在00之后将其转换为char时,它没有取任何值

0010322d
Char*c = [Lincense_Data bytes];

什么方法除了这个甚至零也是什么,任何人请帮助???

iphone objective-c char nsdata

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

快速将 NSData 解压回 NSColor

我已经归档了一个 NSColor 以将它存储在 NSUserDefaults 中:

var data = NSArchiver.archivedDataWithRootObject(NSColor.redColor())
storage.setObject(data, forKey: "color")
storage.synchronize()
Run Code Online (Sandbox Code Playgroud)

但是现在我需要从 NSData 取回颜色,我不知道该怎么做

macos nsuserdefaults nsdata nscolor swift

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

iOS Objective-C NSData to NSString return nil,如何忽略无效的UTF-8

data 从网站下载,

NSString * html = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)

htmlnil,但是

NSString * html = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
Run Code Online (Sandbox Code Playgroud)

会有内容。由于网站包含汉字,如果使用Ascii,则无法显示中文。我猜网站中有一些无效的 UTF-8,所以第一个代码不起作用。

是否有任何方法可以继续使用 UTF-8 但忽略一些无效错误?

encoding objective-c nsdata ios

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

试图在Swift中将类型(BigEndian)的NSData从BlueTooth转换为Int类型的Little Endian

我正在尝试将通过蓝牙连接获得的 NSData 类型的 6 字节十六进制转换为适当的整数值。我知道这是 Big Endian 类型,我需要转换为 little Endian。但是,每次我尝试转换它时,我都可以提取正确的数据,但结果看起来不对,请参阅下面的操场代码:

var newdata = NSData(bytes: [0x26, 0x01, 0x45, 0x01, 0x04, 0x5e, ] as [UInt8], length:6)


//var timeData  = newdata.subdataWithRange(NSMakeRange(4,2))
//var heelData = newdata.subdataWithRange(NSMakeRange(2,2))
//var frontData = newdata.subdataWithRange(NSMakeRange(0,2))


var timeData:UInt16 = 0 
var heelData:UInt16 = 0
var frontData:UInt16 = 0


//var timeData = data.subdataWithRange(NSMakeRange(4,2))

var timeIn: NSNumber = NSNumber(unsignedShort: 0)
newdata.getBytes(&timeIn, range: NSRange(location: 4,length: 2))
timeData = CFSwapInt16BigToHost(timeIn.unsignedShortValue)
//24068

 var heelIn: NSNumber = NSNumber(unsignedShort: 0)
 newdata.getBytes(&heelIn, range: NSRange(location: 2, length: 2))
 heelData …
Run Code Online (Sandbox Code Playgroud)

bluetooth endianness nsdata swift

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

Alamofire将pdf作为NSData

我使用这个alamofire请求获取pdf文件,我想将其保存为NSData:

func makeDataCall(urlString: String, completionHandler: (responseObject: NSData?, error: NSError?) -> ()) {
    //Perform request
    Alamofire.request(.GET, urlString, headers: ["Authorization": auth])
        .responseData { request, response, responseData in
            print(request)
            print(response)
            print(responseData)
            completionHandler(responseObject: responseData.data, error: nil)
    }
}
Run Code Online (Sandbox Code Playgroud)

在响应中,我得到了这个:

"Content-Length" = 592783;
"Content-Type" = "application/pdf";
Run Code Online (Sandbox Code Playgroud)

但是responseData.data没有.

我究竟做错了什么?

nsdata ios swift alamofire

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

在Swift中,您如何转换“&deg;” 到“°”(即度数符号)?使用内置的Cocoa实用程序(带有NSAttributedString)

当我从中读取数据时,使用以下代码说出http://www.weather-forecast.com/

let urlContent = NSString(data: data!, encoding: NSUTF8StringEncoding)
Run Code Online (Sandbox Code Playgroud)

urlContent数据显示为"&deg;"。您如何将其转换为“°”(即度数符号)?

nsdata ios swift

3
推荐指数
2
解决办法
5332
查看次数