标签: nsdata

使用NSData在NSTextView中设置Text

我有一个NSData实例,我从之前的应用程序运行中存储.我想使用这些数据设置NSTextView的文本.它是RTF,我无法弄清楚如何做到这一点.任何想法或建议?它需要使用代码而不是Interface Builder.

谢谢

macos xcode objective-c nstextview nsdata

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

如何将HTML NSData转换为NSString?

我正在使用[NSData dataWithContentsOfURL:]创建两个NSData实例,我想比较这些实例来衡量它们的不同之处.由于它们都来自同一个网站,因此使用字符串查找不同的内容将有助于我突出显示已经(已)更改的实际元素.是否可以将此数据更改为字符串以查找差异?

xcode objective-c nsdata

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

将base64解码的NSData转换为NSString

我正在尝试编码和解码base64数据.但是在解码base64数据时,它会返回一组十六进制值,但我无法使用NSlog显示或打​​印输出到原始可读字符串.下面的代码无法打印任何内容,只是空的.

有人可以帮忙吗?谢谢>>

NSString* msgEncoded = [[NSString alloc] initWithFormat:@"Q1NNKE1DTC9TTUEgUkNWL2FkbWluQHNldGVjcy5jb20gT1JHLyBUVkIvNDNkYzNlMzQwYWQ3Yzkp:"];  
NSData* decoded = [[NSData alloc] initWithData:[self decodeBase64WithString:msgEncoded]];
NSString* plainString = [[NSString alloc]initWithData:decoded encoding:NSUTF8StringEncoding];
NSLog(@"\n Decoded string:  %@ \n", plainString );
Run Code Online (Sandbox Code Playgroud)

objective-c nsstring nsdata ios

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

我应该如何从json字符串中读取数据?苹果手机

我有一个NSString "[{"van" : 1,312, "vuan":12,123}]并且为了获得每个键的这个值,我这样做:

    NSData *data1 = [jsonResponse1 dataUsingEncoding:NSUTF8StringEncoding];
    jsonArray = [NSJSONSerialization JSONObjectWithData:data1 options:kNilOptions error:&err];

    self.van = [NSMutableArray arrayWithCapacity:1];
    self.vuan = [NSMutableArray arrayWithCapacity:1];

    for (NSDictionary *json in jsonArray) {
        NSString * value = [json objectForKey:@"van"];
        [self.van addObject:value];
        lbl1.text = value;

        NSString * value1 = [json objectForKey:@"vuan"];
        [self.vuan addObject:value1];
        lbl4.text = value1;
    }
Run Code Online (Sandbox Code Playgroud)

可能是我不必使用数组而是NSData直接转换为NSDictionary.

反正,我不明白为什么jsonArraynil,尽管jsonResponse1包括我上面写的值.

编辑:我的老板写错了json字符串.谢谢大家的建议!:)

json type-conversion nsdata ios

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

包含hex的NSString转换为ascii等价物

我有一个NSString,有十六进制信息,如

<00000020 66747970 4d344120 00000000 4d344120 6d703432 69736f6d 00000000 00031203
Run Code Online (Sandbox Code Playgroud)

它来自NSData.我需要做的是将Hex数据的NSString转换为Ascii,它将是:

[0][0][0] ftypM4A [0][0][0][0]M4A mp42isom[0][0][0][0][0][3][18][3] 
Run Code Online (Sandbox Code Playgroud)

您可能会知道这是一个M4A文件.我使用NSFileHandle将文件的第一部分加载到NSData.然后我将它存储到NSString中:

NSData *data = [filehandle readDataOfLength:1000];
NSString *str = [[NSString alloc]initWithString:[NSString stringWithFormat:@"%@",data]];
Run Code Online (Sandbox Code Playgroud)

任何人都知道如何直接转换NSData或将NSString转换为ascii?谢谢!

hex objective-c nsstring nsdata nsfilehandle

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

尝试将NSData写入Keychain时出错

我试图写一些从这样的NSMutableArray生成的数据

// set up keychain so I can write to it… or read if needed (specially for testing)
    KeychainItemWrapper *keychain = [[KeychainItemWrapper alloc] initWithIdentifier:@"KeychainTest" accessGroup:nil];
    [keychain setObject:(__bridge id)(kSecAttrAccessibleWhenUnlocked) forKey:(__bridge id)(kSecAttrAccessible)];

    //write to keychain
    NSData *parsedRemoteSitesData = [NSKeyedArchiver archivedDataWithRootObject:parsedRemoteSitesMutableArray]; // converts MutableArray to NSData
    [keychain setObject:parsedRemoteSitesData forKey:(__bridge id)(kSecValueData)]; pass data to keychain
Run Code Online (Sandbox Code Playgroud)

我的应用程序崩溃在那里我试图将NSData传递给钥匙串的最后一行,这是它给出的错误.

** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSConcreteMutableData dataUsingEncoding:]: unrecognized selector sent to instance
Run Code Online (Sandbox Code Playgroud)

我认为这意味着我没有编码我的NSData,同时将数组传递给它,但我不确定..我希望有人可以告诉我或提供一些示例代码来解决这个问题.

任何帮助将不胜感激.

keychain nsmutablearray nsdata ios

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

是NSData +(id)dataWithContentsOfURL:(NSURL*)aURL选项:(NSDataReadingOptions)掩码错误:(NSError**)errorPtr:自动缓存?

当我阅读该部分时

NSDataReadingOptions
Options for methods used to read NSData objects.

enum {
   NSDataReadingMappedIfSafe = 1UL << 0,
   NSDataReadingUncached = 1UL << 1,
   NSDataReadingMappedAlways = 1UL << 3,
};
typedef NSUInteger NSDataReadingOptions;
Run Code Online (Sandbox Code Playgroud)

它说

NSDataReadingUncached一个提示,指示该文件不应存储在文件系统缓存中.对于一次读取和丢弃的数据,此选项可以提高性能.适用于OS X v10.6及更高版本.在NSData.h中声明.

所以我假设默认情况下这些URL请求被缓存,如果我想使用共享全局缓存,则不需要实现NSURLRequest来缓存数据?这种理解是否正确?

nsurlconnection nsdata ios

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

在Swift中将整数转换为NSData

在Objective-C中,代码看起来很喜欢这个,

    NSInteger random = arc4random_uniform(99) + 1 
    NSData *data = [NSData dataWithBytes:& random length: sizeof(random)];
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在Swift中这样做时,

    let random:NSInteger = NSInteger(arc4random_uniform(99) + 1) //(1-100)
    let data = NSData(bytes: &random, length: 3)
Run Code Online (Sandbox Code Playgroud)

它给了我一个错误,坚持"NSInteger不能转换为@lvalue in $ T1

任何帮助将不胜感激!

nsdata ios swift

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

ios - 如何计算NSData的CRC-8-Dallas/Maxim?

我需要准确计算CRC-8-Dallas/Maxim.有人可以提供算法吗?

任何帮助表示赞赏!

crc nsdata ios

4
推荐指数
2
解决办法
6832
查看次数

在Swift中使用WriteValue发送十六进制字符串

我一直在使用XCode和Swift创建一个应用程序以连接到蓝牙设备(已连接LED色带),并且编写了一段代码来使其变色。

使用蓝牙嗅探器,我知道我需要发送“ 52130056FF000000AA”的值,在此示例中,它将使其变为红色。这是我已经编写的代码的一部分。Characteristicx在此代码之前定义。

let data: NSData = "52130056FF000000AA".dataUsingEncoding(NSUTF8StringEncoding)!
peripheral.writeValue(data, forCharacteristic: characteristicx, type: CBCharacteristicWriteType.WithoutResponse)
Run Code Online (Sandbox Code Playgroud)

这段代码将转换为此给出的十六进制字符串,我不想发送该字符串。'<35323133 30303536 46463030 30303030 4141>'

所以,问题是,如何让Swift将52130056FF000000AA仅发送到BLE设备,而不发送到转换后的字符串?这里的问题是writeValue命令需要NSData(据我所知),我不确定如何使用纯十六进制字符串作为以NSData形式发送的数据。

希望有人可以帮忙!任何帮助甚至建议,将不胜感激。

bluetooth nsdata ios core-bluetooth swift

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