ประเภทสเกลาร์ใน Managed Object ใช้ได้กับ iPhone 5 เท่านั้น

คุณสมบัติ 'Latitude' เป็นประเภทสเกลาร์ในคลาส 'LatitudeLongitude' ไม่สามารถสร้างวิธีการ setter ได้

เมื่อฉันสร้างโค้ดสำหรับออบเจ็กต์ที่ได้รับการจัดการ ฉันได้รับข้อความว่าฉันต้องการคุณสมบัติสเกลาร์สำหรับประเภทข้อมูลดั้งเดิมหรือไม่ ฉันควรใช้มันไหม? ฉันต้องการให้แอปพลิเคชันนี้เข้ากันได้กับ iPhone 3 - 5

มีปัญหาใด ๆ กับปัญหานี้หรือไม่?


person user4951    schedule 26.07.2011    source แหล่งที่มา


คำตอบ (2)


เมื่อคุณใช้คุณสมบัติสเกลาร์ คุณต้องจัดเตรียมการใช้งาน getters และ setters สำหรับคุณสมบัติเหล่านั้นด้วยตัวเอง ตามที่อธิบายไว้ในเอกสารประกอบ:

"คุณสามารถประกาศคุณสมบัติเป็นค่าสเกลาร์ได้ แต่สำหรับค่าสเกลาร์ Core Data ไม่สามารถสร้างวิธีการเข้าถึงแบบไดนามิกได้ คุณต้องจัดให้มีการใช้งานของคุณเอง (ดู "วิธีการเข้าถึงวัตถุที่ได้รับการจัดการ") Core Data จะสังเคราะห์วิธีการเข้าถึงแบบดั้งเดิมโดยอัตโนมัติ (primitiveLength และ setPrimitiveLength: ) แต่คุณต้องประกาศให้ระงับคำเตือนของคอมไพเลอร์"

เอกสารประกอบ

ที่นี่ ฉันขอแนะนำให้คุณตรวจสอบโพสต์นี้ core-data-scalars

ฉันหวังว่าฉันได้ช่วย

person lukewar    schedule 03.10.2011
comment
มีคุณสมบัติสเกลาร์มากเกินไปแล้ว - person user4951; 05.10.2011
comment
ดังนั้นคุณสมบัติสเกลาร์หมายความว่าคุณสมบัติจะเป็นสองเท่า ลอย ฯลฯ แทนที่จะเป็น NSNumber ทางด้านขวา - person Anonymous White; 23.10.2012
comment
ใช่ Haryanto อินเทอร์เฟซอ็อบเจ็กต์โมเดลจะเป็นสองเท่า โฟลต ฯลฯ แต่จริงๆ แล้วจะถูกแปลงเป็น NSNumber แล้วบันทึกลงในร้านค้า - person lukewar; 24.10.2012
comment
โพสต์สเกลาร์ข้อมูลหลักหายไปแล้ว - person malhal; 07.11.2014

สิ่งนี้ไม่เป็นความจริง สเกลาร์ได้รับการสนับสนุนใน Core Data มานานแล้ว คุณไม่จำเป็นต้องใช้ตัวเข้าถึงแบบกำหนดเองตามที่โพสต์บนบล็อกจำนวนมากระบุ

person quellish    schedule 27.03.2013