Swift保持对象或其他模式的指针/引用?

时间:2015-12-29 22:14:21

标签: ios swift

我正在使用其他工具和语言转换项目:

假设我有一个

singleimagecache: UIImage;

我现在将其传递给

的结构
var myimage: UIImage = singleimagecache;

现在,这个结构被传递给一个可以完成某些工作的函数。

此功能确定应缓存另一个图像。在我的原始代码中,它只使用 myimage 并为其内容分配一些其他图像位图数据。由于对象引用本身未更改(仅限其内容) singleimagecache 仍将指向有效的新缓存数据。

然而,这在Swift中是不可能的,因为UIImage需要像这样重建:

myimage = UIImage(...)

但这样做会使 singleimagecache 带有错误的数据

因此,我留下以下选项:

  • Swift中是否支持保持引用同步?
  • Swift中任何支持保持指向对象的指针(它们本身可能是可以为空的)
  • 将UIImage包含在另一个持久的对象中并使用它。

1 个答案:

答案 0 :(得分:1)

没有内置的Swift支持你想做什么。我只想创建一个包含2个UIImage属性的包装器类。一个是 myimage ,另一个是 singleimagecache 。然后,您可以使用 myimage 上的 didSet 属性观察器来实现所需的同步,以便 monimagecache 始终与 myimage保持同步即可。每次在属性中存储/设置新值时,都会调用 didSet

var serverPath = path.resolve(process.cwd() + '/../bin/www');