标签: nsdata

如何将 .plist xml 字符串转换为 NSDictionary

我使用和下载了.plist文件,并且我想读取 .plist 文件的值。SwiftAlamofire

if let url = URL(string: urlString) {
    Alamofire.download(url).responseData(completionHandler: { response in
        if response.result.isSuccess {
            if let plistData = response.result.value {
                if let plistXml = String(data: data, encoding: .utf8) {
                    // plistXml contains the actual plist contents as String object.
                }

            }
        }
    })
}
Run Code Online (Sandbox Code Playgroud)

我必须包含我下载的 .plist 文件的对象:

  • plistData:下载的Data对象
  • plistXml:来自 plistData 的字符串对象

使用这些对象中的任何一个,我想将 plist 文件转换为 NSDictionary 或 Dictionary。

nsdictionary nsdata ios swift

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

如何根据字符串检测数据中的编码?

我正在加载一个文本文件,编码未知,因为它来自其他来源。内容本身来自 macOS NSDocument 的read方法,该方法被输入到我的模型的 read 中。String构造函数在使用 Data 时需要编码,如果您假设不正确,您可能会得到null。我已经创建了潜在编码的条件级联(这就是其他人似乎正在做的事情),必须有更好的方法来做到这一点。建议?

    override func read(from data: Data, ofType typeName: String) throws {
        model.read(from: data, ofType: typeName)
    }
Run Code Online (Sandbox Code Playgroud)

在模型中:

    func read(from data: Data, ofType typeName: String) {
        if let text = String(data: data, encoding: .utf8) {
            content = text
        } else if let text = String(data: data, encoding: .macOSRoman) {
            content = text
        } else if let text = String(data: data, …
Run Code Online (Sandbox Code Playgroud)

string nsdata swift

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

提高速度 - 来自NSURL的UIImage

我正在使用以下代码来获取一些图像,这些图像将进入tableview.但需要很长时间(5-6秒)才能获得30张图像.

有更聪明/更快的方法吗?

NSString *imageUrl = ......;
NSString *urlStr = 
[imageUrl UrlstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *path = [[NSString alloc] initWithFormat:@"http://xxx.dk/xml.aspx%@", urlStr]; 
NSURL *url = [NSURL URLWithString:path];


NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *img = [[UIImage alloc] initWithData:data];
return img;
[..... release];
Run Code Online (Sandbox Code Playgroud)

objective-c nsurl uiimage nsdata

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

如何将NULL char(\ 000)编码为NSData?

如何将NULL char(\ 000)编码为NSData?我无法理解如何做到这一点.我最终希望这是我构建的更大数据字符串的一部分,但我无法弄清楚如何将其引入.

null objective-c nsdata ios

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

如何在iOS中将NSData变量转换为NSInteger变量

我有以下api方法返回NSData.我在另一个视图控制器中调用了此方法.如何将NSData转换为NSInteger

-(NSData *)getBusXMLAtStop:(NSString*)stopnumber
{
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL: 
                                    [NSURL URLWithString: [NSString stringWithFormat:@"http://www.google.com/ig/api?weather=,,,50500000,30500000",stopnumber]]];
    [request setHTTPMethod: @"GET"];
    dataReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
        NSLog(@"%@",dataReply);
    return dataReply;
}

-(void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    api *ap = [[api alloc]init];
    NSData *str = [ap getBusXMLAtStop:@"1"];
    // Here is where I want to convert str into NSInteger type. How is this possible?
    NSLog(@"this is success %@",ap.dataReply);
    TWeatherParser *parser = [[TWeatherParser alloc]init];
    [parser getInitialiseWithData:ap.dataReply];
    [parser release];
    [ap release];
}
Run Code Online (Sandbox Code Playgroud)

xml objective-c nsdata ios

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

来自NSData的文件路径

我有一个NSData,我正在从filePath加载.然后数据被传递,我需要filePath来获取数据的来源.

除了将filePath作为额外参数传递之外,最简单的方法是什么?

cocoa nsdata ios

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

检查NSString是否包含base64数据

如何检查NSString是否包含if语句中的base64数据?因为base64以完全随机的方式对数据进行编码,所以我无法在NSString中搜索短语,因此我需要检查字符串的内容是否会导致数据文件.

iphone base64 objective-c nsdata ios

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

获取警告不兼容的指针类型从NSData分配给"NSMutableData"

我收到警告::不兼容的指针类型在下面的代码中从'NSData'分配给'NSMutableData'

-(void) connectionDidFinishLoading:(NSURLConnection *) connection
{
    NSLog(@"DONE. Received Bytes: %d", [webData length]);
    NSString *theXML = [[[NSString alloc] initWithBytes: [webData mutableBytes] length [webData length] encoding:NSUTF8StringEncoding] autorelease];

    theXML = [theXML stringByReplacingOccurrencesOfString:@"&lt;" withString:@"<"];
    theXML = [theXML stringByReplacingOccurrencesOfString:@"&gt;" withString:@">"];
    NSLog(@"%@",theXML);

    if( xmlParser )
    {
        xmlParser = nil;
        [xmlParser release];
    }

    NSMutableString *str = [[NSMutableString alloc]initWithString:theXML];
    webData = [str dataUsingEncoding:NSUTF16StringEncoding];//WARNING

    xmlParser = [[[NSXMLParser alloc] initWithData:webData] autorelease];
    [xmlParser setDelegate:self];
    [xmlParser setShouldResolveExternalEntities: YES];
    [xmlParser parse];

    [connection release];
}
Run Code Online (Sandbox Code Playgroud)

nsxmlparser nsdata ios

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

如果文件已存在,则重命名文件

如果存在具有相同名称的文件,objective-c中重命名文件的最佳方法是什么.

理想情况下,如果名为untitled.png的文件已存在,我想将untitled.png命名为untitled-1.png.

我已将下面的解决方案作为答案包含在内,但我认为应该有更好的方法(内置函数)来完成它.

我的解决方案不是线程安全的,并且易受竞争条件的影响.

objective-c nsdata nsfilemanager ios

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

Objective-C警告,使用未声明的标识符'new'

我收到了这个错误

使用未声明的标识符'new'

在这行代码上

Byte* decompressedBytes = new Byte[COMPRESSION_BLOCK];
Run Code Online (Sandbox Code Playgroud)

这是我的方法,这行代码出现在.

//  Returns the decompressed version if the zlib compressed input data or nil if there was an error
+ (NSData*) dataByDecompressingData:(NSData*)data{
    Byte* bytes = (Byte*)[data bytes];
    NSInteger len = [data length];
    NSMutableData *decompressedData = [[NSMutableData alloc] initWithCapacity:COMPRESSION_BLOCK];
    Byte* decompressedBytes = new Byte[COMPRESSION_BLOCK];

    z_stream stream;
    int err;
    stream.zalloc = (alloc_func)0;
    stream.zfree = (free_func)0;
    stream.opaque = (voidpf)0;

    stream.next_in = bytes;
    err = inflateInit(&stream);
    CHECK_ERR(err, @"inflateInit");

    while (true) {
        stream.avail_in = len - stream.total_in; …
Run Code Online (Sandbox Code Playgroud)

byte zlib nsdata ios

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