7
วิธีเก็บวัตถุที่กำหนดเองใน NSUserDefaults
เอาล่ะฉันได้ทำอะไรบ้างแล้วฉันก็ตระหนักถึงปัญหาของฉัน แต่ฉันไม่รู้วิธีแก้ไข ฉันสร้างคลาสที่กำหนดเองเพื่อเก็บข้อมูลบางอย่าง ฉันทำวัตถุสำหรับชั้นนี้และฉันต้องการให้พวกเขาสุดท้ายระหว่างช่วง ก่อนที่ฉันจะใส่ข้อมูลทั้งหมดของฉันเข้าไปNSUserDefaultsแต่สิ่งนี้ไม่ทำงาน -[NSUserDefaults setObject:forKey:]: Attempt to insert non-property value '<Player: 0x3b0cc90>' of class 'Player'. นั่นคือข้อผิดพลาดที่ฉันได้รับเมื่อฉันใส่ชั้นเรียนของฉันที่กำหนดเอง "ผู้เล่น" NSUserDefaultsใน ตอนนี้ฉันได้อ่านที่เห็นได้ชัดว่าNSUserDefaultsเก็บข้อมูลบางประเภทเท่านั้น แล้วฉันจะนำวัตถุของฉันเข้าไปได้NSUSerDefaultsอย่างไร ฉันอ่านว่าควรมีวิธีการ "เข้ารหัส" วัตถุที่กำหนดเองของฉันแล้ววางไว้ แต่ฉันไม่แน่ใจว่าจะใช้งานได้อย่างไรความช่วยเหลือจะได้รับการชื่นชม! ขอบคุณ! **** **** แก้ไข เอาล่ะฉันทำงานกับรหัสที่ระบุด้านล่าง (ขอบคุณ!) แต่ฉันยังคงมีปัญหาอยู่ โดยพื้นฐานแล้วรหัสขัดข้องตอนนี้และฉันไม่แน่ใจว่าทำไมเพราะมันไม่ได้มีข้อผิดพลาดใด ๆ บางทีฉันขาดพื้นฐานบางอย่างและฉันเหนื่อยเกินไป แต่เราจะเห็น นี่คือการใช้งานคลาสที่กำหนดเองของฉัน "ผู้เล่น": @interface Player : NSObject { NSString *name; NSNumber *life; //Log of …