takeshi-1000 / my_memo

0 stars 1 forks source link

ディープコピー、シャローコピー #59

Closed takeshi-1000 closed 2 years ago

takeshi-1000 commented 2 years ago

https://medium-company.com/%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%82%B3%E3%83%94%E3%83%BC%E3%81%A8%E3%82%B7%E3%83%A3%E3%83%AD%E3%83%BC%E3%82%B3%E3%83%94%E3%83%BC%E3%81%AE%E9%81%95%E3%81%84/

スクリーンショット 2022-04-20 8 48 34 スクリーンショット 2022-04-20 8 48 40
takeshi-1000 commented 2 years ago

元々 https://qiita.com/kazuhiro4949/items/03bc3d17d3826aa197c0 の記事にある、 下記でなぜ、copyを使用したのかがよくわからなかったこと

var attributesToReturn = attributes.map { $0.copy() as! UICollectionViewLayoutAttributes }
takeshi-1000 commented 2 years ago

一旦、swiftだとclassの場合だと、下記のようなプログラムで、シャローコピー

class A {
  var hoge = "hoge"
}

var a = A()
var b = a

strcutの場合だと、下記のようなプログラムで、ディープコピーされそう

struct A {
  var hoge = "hoge"
}

var a = A()
var b = a