xcode - observing contentSize (CGSize) with KVO in swift -


i'm trying observering collectionview.contentsize :

func startobservecollectionview() {     collectionview.addobserver(self, forkeypath: "contentsize", options: nskeyvalueobservingoptions.old.union(nskeyvalueobservingoptions.new), context: &searchdasboardlabelcontext) }  override func observevalueforkeypath(keypath: string?, ofobject object: anyobject?, change: [string : anyobject]?, context: unsafemutablepointer<void>) {     if context == &searchdasboardlabelcontext {                if object === collectionview && keypath! == "contentsize" {             print(change)                        }     } } 

and in xcode terminal got nssize not cgsize :

optional(["old": nssize: {320, 0}, "new": nssize: {375, 39.5}, "kind": 1]) 

in objective-c used method cgsizevalue

cgsize newcontentsize = [[change objectforkey:nskeyvaluechangenewkey] cgsizevalue]; 

is there method cgsizevalue in swift

i have tried in swift var newcontentsize = change[nskeyvaluechangenewkey]?.cgsizevalue() got error

could not find member 'cgsizevalue'

need anyone?

are on ios? because am, did same thing , arrived @ same question; why nssize? maybe that's xcode terminal playing trick on us.

anyway, can cast nsvalue able use cgsizevalue:

if let zechange = change as? [nsstring: nsvalue] {     let oldsize = zechange[nskeyvaluechangeoldkey]?.cgsizevalue()     let newsize = zechange[nskeyvaluechangenewkey]?.cgsizevalue() } 

Comments