'initWithBase64Encoding'已弃用?

时间:2014-02-01 06:11:16

标签: ios objective-c nsdata

我想从字符串中获取数据。我使用以下代码,但它似乎已被弃用。

 NSData *data=[[NSData alloc]initWithBase64Encoding:(NSString *)dict];

我收到了数据。但它给我警告'initWithBase64Encoding'已被弃用。 那么还有其他方法可以返回数据吗?

3 个答案:

答案 0 :(得分:12)

使用此

NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:base64String options:0];

而不是

NSData *data=[[NSData alloc]initWithBase64Encoding:(NSString *)dict];

答案 1 :(得分:1)

返回使用给定的Base-64编码字符串初始化的数据对象。 (在iOS 7.0中已弃用。您应该转换为initWithBase64EncodedString:options:或initWithBase64EncodedData:options :.)

答案 2 :(得分:1)

使用以下

<强> ENCODE

NSString *myString = @"Developer";
NSData *myData = [myString dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64String = [myData base64EncodedStringWithOptions:0];
NSLog(@"%@", base64String);

<强> DECODE:

NSData *decodedData = [[NSData alloc] initWithBase64EncodedString:base64String options:0];
NSString *decodedString = [[NSString alloc] initWithData:decodedData encoding:NSUTF8StringEncoding];
NSLog(@"%@", decodedString);