我有一个包含三个实体(Purchase、Items、Image)的数据模型,购买是主要的,另外两个作为相关属性。
我需要能够将数据发送到 Web 服务器,并且必须使用 base64 进行编码,我有几个类负责我从网上下载的编码和解码,它们是 NSData 类的类别,但是当我使用它们时,我会收到一个空字符串。
// For Error Information
NSError *error;
// Create a File Manager
NSFileManager *fileManager = [NSFileManager defaultManager];
// Point to the Documents Directory
NSString *documentsDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
// File we want to create in the Documents Directory
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"dataArray.txt"];
NSString *joined = [self.dataList componentsJoinedByString:@","];
NSData *myData = [NSData dataWithBase64EncodedString:joined];
NSLog(@"%@", myData); // THIS IS NULL
[myData writeToFile:filePath atomically:YES];
所以数组吐出这个......
<Purchase: 0x502b7a0> (entity: Purchase; id: 0x502a620 <x-coredata://92618241-3890-45FD-B1D7-7F17D52CAF38/Purchase/p22> ; data: {
amount = 123.56;
image = 0x502c7b0 <x-coredata://92618241-3890-45FD-B1D7-7F17D52CAF38/Image/p11>;
items = "<relationship fault: 0x5024900 'items'>";
latitude = 37.331689;
longitude = -122.030731;
name = "Macy's";
thumbnailImage = "(...not nil..)";
timestamp = 2010-02-18 18:03:03 -0500;
type = nil;
}),<Purchase: 0x502bdf0> (entity: Purchase; id: 0x502a630 <x-coredata://92618241-3890-45FD-B1D7-7F17D52CAF38/Purchase/p20> ; data: {
amount = 12.34;
image = 0x502c8e0 <x-coredata://92618241-3890-45FD-B1D7-7F17D52CAF38/Image/p9>;
items = "<relationship fault: 0x502ef40 'items'>";
latitude = 37.331689;
longitude = -122.030731;
name = Rippers;
thumbnailImage = "(...not nil..)";
timestamp = 2010-02-18 12:18:34 -0500;
type = Travel;
}),<Purchase: 0x502c0e0> (entity: Purchase; id: 0x502a640 <x-coredata://92618241-3890-45FD-B1D7-7F17D52CAF38/Purchase/p21> ; data: {
amount = 5.56;
image = 0x502ca40 <x-coredata://92618241-3890-45FD-B1D7-7F17D52CAF38/Image/p10>;
items = "<relationship fault: 0x502f6a0 'items'>";
latitude = 37.331689;
longitude = -122.030731;
name = "Roy Rogers";
thumbnailImage = "(...not nil..)";
timestamp = 2010-02-18 17:45:03 -0500;
type = Clothing;
}),<Purchase: 0x502c320> (entity: Purchase; id: 0x502a650 <x-coredata://92618241-3890-45FD-B1D7-7F17D52CAF38/Purchase/p16> ; data: {
amount = 5.52;
image = nil;
items = "<relationship fault: 0x502f9e0 'items'>";
latitude = 37.331689;
longitude = -122.030731;
name = heariam;
thumbnailImage = nil;
timestamp = 2010-02-18 09:41:35 -0500;
type = nil;
})
我如何将其编码为 base64 字符串,以便我可以将其通过电子邮件发送到网络服务器
非常感谢任何帮助,甚至是正确方向的一点,我对编程还是很陌生。