我在更新图像的元数据并将其保存回照片库时遇到问题.一切正常,除了改变后的图像元数据缺少之前的条目,我没有得到操纵图像或执行照片库更改块的任何错误.此外,在将字典写回图像之前的字典看起来像原始加上调试器中的字典.
我的问题是:
编辑:
在保存之前,所有Exif和Tiff值都存在.这是使用以下代码保存到照片后的整个元数据:
["PixelHeight": 2448, "PixelWidth": 3264, "{Exif}": {
ColorSpace = 1;
PixelXDimension = 3264;
PixelYDimension = 2448;}, "Depth": 8, "ProfileName": sRGB IEC61966-2.1, "Orientation": 1, "{TIFF}": {
Orientation = 1;}, "ColorModel": RGB, "{JFIF}": {
DensityUnit = 0;
JFIFVersion = (
1,
0,
1
);
XDensity = 72;
YDensity = 72;}]
Run Code Online (Sandbox Code Playgroud)
代码全部在Swift 3中,在iOS 10.1上进行测试
基本工作流程是:
// Get a mutable copy of the existing Exif meta
let mutableMetaData = getMutableMetadataFrom(imageData: data)
// Check to see if it …Run Code Online (Sandbox Code Playgroud) 我对C#比较陌生,今天我注意到一些有趣的东西,我想我从来没有注意到,或者我错过了一些东西.这是一个NUnit测试给出一个例子:
object boolean1 = false;
object booloan2 = false;
Assert.That(boolean1 == booloan2);
Run Code Online (Sandbox Code Playgroud)
此单元测试失败,但是这个测试通过:
object string1 = "string";
object string2 = "string";
Assert.That(string1 == string2);
Run Code Online (Sandbox Code Playgroud)
我并不感到惊讶,第一个看不到boolean1,而boolean2是不同的引用.但令我不安的是,第一个失败了,第二个失败了.我(在某个MSDN上)读到了对String类做了一些魔术来促进这一点.我认为我的问题真的是为什么这个行为不是在bool中复制了?作为注释...如果boolean1和2被声明为bool那么没有问题.
这些差异的原因是什么或为什么以这种方式实施?是否有一种情况,你想要引用bool对象除了它的值以外的任何东西?