objective c - How to save a color in NSUserDefaults in swift? -



objective c - How to save a color in NSUserDefaults in swift? -

i have litle problem saving color in nsuserdefaults . in objective-c easy :

-(nscolor *)colorforkey:(nsstring *)key{ nsdata *data; nscolor *color; info = [[nsuserdefaults standarduserdefaults] objectforkey:key]; color= [nsunarchiver unarchiveobjectwithdata:data]; if( ! [color iskindofclass:[nscolor class]] ){ color = nil; } homecoming color; } -(void)setcolor:(nscolor *)color forkey:(nsstring *)key{ nsdata *data = [nsarchiver archiveddatawithrootobject:color]; [[nsuserdefaults standarduserdefaults] setobject:data forkey:key]; }

the above code works fine in objective-c, when seek write same code in swift, receive errors @ reading color nsuserdefaults.

func savecolorforkey (color:nscolor , key:nsstring ) { var data:nsdata = nsdata() info = nsarchiver.archiveddatawithrootobject(color) nsuserdefaults.standarduserdefaults().setobject(data, forkey: key) } func colorforkey(key:nsstring) -> nscolor{ var data: anyobject? = nsuserdefaults.standarduserdefaults().objectforkey(key) var color: anyobject? = nsunarchiver.unarchiveobjectwithdata(data? nsdata) homecoming color nscolor }

thanks , , sorry english language !

for objective c

place this.

nsdata *colordata = [nskeyedarchiver archiveddatawithrootobject:color]; [[nsuserdefaults standarduserdefaults] setobject:colordata forkey:@"mycolor"];

to this.

nsdata *colordata = [[nsuserdefaults standarduserdefaults] objectforkey:@"mycolor"]; uicolor *color = [nskeyedunarchiver unarchiveobjectwithdata:colordata];

for swift

set this

var userselectedcolor : nsdata? = (nsuserdefaults.standarduserdefaults().objectforkey("userselectedcolor") as? nsdata) if (userselectedcolor != nil) { var colortosetasdefault : uicolor = uicolor.redcolor() var info : nsdata = nskeyedarchiver.archiveddatawithrootobject(colortosetasdefault) nsuserdefaults.standarduserdefaults().setobject(data, forkey: "userselectedcolor") nsuserdefaults.standarduserdefaults().synchronize() println("set default user color red") }

get this.

if allow userselectedcolordata = nsuserdefaults.standarduserdefaults().objectforkey("userselectedcolor") as? nsdata { if allow userselectedcolor = nskeyedunarchiver.unarchiveobjectwithdata(userselectedcolordata) as? uicolor { println(userselectedcolor) } }

objective-c swift nsuserdefaults osx-yosemite

Comments

Popular posts from this blog

xslt - DocBook 5 to PDF transform failing with error: "fo:flow" is missing child elements. Required content model: marker* -

mediawiki - How do I insert tables inside infoboxes on Wikia pages? -

Local Service User Logged into Windows -