質問: nametobesaved(userenteredname: category) createnewcategory(thisnewcategory) } sortcategories() } }
回答: 問題:skemitternodeとして使用するためにsksファイルをアーカイブ解除します。古い方法、非推奨:let filepath = bundle.main.path(forresource: "myparticleemitter", oftype: "sks")! let burnerpathunarchived = nskeyedunarchiver.unarchiveobject(withfile: burnerpath) as! skemitternode 新しい方法:do { let fileurl = bundle.main.url(forresource: "myparticleemitter", withextension: "sks")! let filedata = try data(contentsof: fileurl) let unarchiveddata = try nskeyedunarchiver.unarchivetoplevelobjectwithdata(burnerdata) as! skemitternode } catch { print("didn't work") } その後、次のことができます。myskeffectnode.addchild(unarchiveddata) myskspritenode.addchild(myskeffectnode)