Quickstarters
CRUD Samples
How to Develop a CRUD App for iOS using Swift?
26 นาที
ภาพรวม การเดินทางนี้จะช่วยแนะนำคุณในการสร้างแอปพลิเคชัน crud (สร้าง, อ่าน, อัปเดต, ลบ) ที่ง่ายสำหรับ ios โดยใช้ back4app เป็นแบ็คเอนด์คลาวด์ของคุณ คุณจะได้เรียนรู้วิธีการกำหนดค่าโปรเจกต์ของคุณ ออกแบบโมเดลข้อมูลที่ยืดหยุ่น และนำฟังก์ชัน crud ไปใช้ด้วย swift บทแนะนำนี้แสดงให้เห็นถึงวิธีการรวมแอป ios ของคุณกับ back4app โดยใช้ parse ios sdk หรือ rest api เพื่อให้การจัดการข้อมูลเป็นไปอย่างราบรื่นและการตรวจสอบสิทธิ์ที่ปลอดภัย ในตอนแรก คุณจะตั้งค่าโปรเจกต์ back4app—ชื่อ basic crud app ios —ที่ให้ฐานข้อมูลที่ไม่สัมพันธ์กันและสามารถขยายได้สำหรับแอปของคุณ คุณจะกำหนดโครงสร้างข้อมูลของคุณโดยการสร้างคลาสและฟิลด์ด้วยตนเองหรือโดยการใช้ ai agent ของ back4app ถัดไป คุณจะสำรวจวิธีการจัดการแบ็คเอนด์ของคุณโดยใช้ back4app admin app ที่ใช้งานง่าย ซึ่งเป็นเครื่องมือแบบลากและวางที่ออกแบบมาเพื่อทำให้การจัดการข้อมูลง่ายขึ้น สุดท้าย คุณจะเชื่อมต่อแอป ios ของคุณกับแบ็คเอนด์ โดยใช้ parse ios sdk (เมื่อมีความเหมาะสม) หรือการเรียก rest/graphql api และรวมการตรวจสอบสิทธิ์ผู้ใช้ที่ปลอดภัย เมื่อสิ้นสุดคู่มือนี้ คุณจะได้สร้างแอป ios ที่พร้อมใช้งานในผลิตภัณฑ์ซึ่งทำการดำเนินการ crud หลัก รวมถึงการลงชื่อเข้าใช้ผู้ใช้ที่ปลอดภัยและการจัดการข้อมูล ข้อมูลเชิงลึกหลัก เรียนรู้การสร้างแอป crud สำหรับ ios พร้อมแบ็คเอนด์ที่มีประสิทธิภาพ เข้าใจวิธีการออกแบบแบ็คเอนด์ที่สามารถขยายได้และเชื่อมต่อกับแอป ios ได้อย่างราบรื่น ค้นพบวิธีการใช้ back4app admin app สำหรับการสร้างข้อมูล การดึงข้อมูล การปรับเปลี่ยน และการลบข้อมูลอย่างมีประสิทธิภาพ สำรวจตัวเลือกสำหรับการปรับใช้ในรูปแบบคอนเทนเนอร์และการปรับปรุงเพิ่มเติมสำหรับโปรเจกต์ ios ของคุณ ข้อกำหนดเบื้องต้น ก่อนที่คุณจะเริ่ม ให้แน่ใจว่าคุณมี บัญชี back4app ที่มีโปรเจกต์ที่ใช้งานอยู่ ต้องการความช่วยเหลือ? ดูที่ เริ่มต้นใช้งานกับ back4app https //www back4app com/docs/get started/new parse app การตั้งค่าการพัฒนา ios ใช้ xcode (เวอร์ชัน 12 หรือใหม่กว่า) และตรวจสอบให้แน่ใจว่าสภาพแวดล้อมการพัฒนาของคุณเป็นปัจจุบัน ความเข้าใจที่มั่นคงเกี่ยวกับ swift, การเขียนโปรแกรมเชิงวัตถุ และพื้นฐานของ rest api ดูที่ เอกสาร swift https //developer apple com/swift/ สำหรับรายละเอียดเพิ่มเติม ขั้นตอนที่ 1 – การตั้งค่าโปรเจกต์ของคุณ การสร้างโปรเจกต์ back4app ใหม่ เข้าสู่ระบบบัญชี back4app ของคุณ คลิกที่ปุ่ม “แอปใหม่” จากแดชบอร์ดของคุณ ตั้งชื่อโปรเจกต์ของคุณ basic crud app ios และทำตามคำแนะนำบนหน้าจอเพื่อเสร็จสิ้นการตั้งค่า สร้างโปรเจกต์ใหม่ หลังจากสร้างโปรเจกต์แล้ว มันจะปรากฏในแดชบอร์ดของคุณ ซึ่งเป็นการวางรากฐานสำหรับการกำหนดค่าฝั่งหลังของคุณ ขั้นตอนที่ 2 – การสร้างโมเดลข้อมูลของคุณ การกำหนดโครงสร้างข้อมูลของคุณ สำหรับแอปพลิเคชัน crud บน ios นี้ คุณจะสร้างคลาส (คอลเลกชัน) หลายคลาสในโปรเจกต์ back4app ของคุณ ด้านล่างนี้คือคลาสหลักและฟิลด์ที่จำเป็นเพื่อสนับสนุนการดำเนินการ crud ของคุณ 1\ คลาสรายการ คลาสนี้จะเก็บข้อมูลเกี่ยวกับแต่ละรายการ สนาม ประเภทข้อมูล คำอธิบาย id รหัสวัตถุ รหัสประจำตัวที่สร้างขึ้นโดยอัตโนมัติ ชื่อเรื่อง สตริง ชื่อหรือตำแหน่งของรายการ คำอธิบาย สตริง สรุปสั้น ๆ หรือรายละเอียดเกี่ยวกับรายการนี้ สร้างเมื่อ วันที่ เวลาที่ระบุเมื่อรายการถูกสร้างขึ้น อัปเดตเมื่อ วันที่ เวลาที่ทำเครื่องหมายการอัปเดตครั้งสุดท้ายของรายการ 2\ ประเภทผู้ใช้ คลาสนี้จัดการข้อมูลประจำตัวผู้ใช้และข้อมูลการตรวจสอบสิทธิ์ สนาม ประเภทข้อมูล คำอธิบาย id รหัสวัตถุ รหัสประจำตัวที่สร้างขึ้นโดยอัตโนมัติ ชื่อผู้ใช้ สตริง รหัสประจำตัวที่ไม่ซ้ำกันสำหรับผู้ใช้ อีเมล สตริง ที่อยู่อีเมลที่ไม่ซ้ำกันของผู้ใช้ รหัสผ่านแฮช สตริง รหัสผ่านที่เข้ารหัสสำหรับการตรวจสอบสิทธิ์ที่ปลอดภัย สร้างเมื่อ วันที่ เวลาที่บัญชีถูกสร้างขึ้น อัปเดตเมื่อ วันที่ เวลาของการอัปเดตบัญชีล่าสุด คุณสามารถกำหนดคลาสและฟิลด์เหล่านี้โดยตรงในแดชบอร์ด back4app สร้างคลาสใหม่ คุณสามารถเพิ่มคอลัมน์ได้โดยการเลือกประเภทข้อมูล ตั้งชื่อฟิลด์ กำหนดค่าเริ่มต้น และทำเครื่องหมายว่าจำเป็นหากต้องการ สร้างคอลัมน์ การใช้เอเจนต์ ai ของ back4app สำหรับการกำหนดโครงสร้างข้อมูล เอเจนต์ ai ที่รวมอยู่ในแดชบอร์ดของคุณสามารถสร้างโครงสร้างข้อมูลของคุณโดยอัตโนมัติจากคำอธิบาย ซึ่งช่วยให้การตั้งค่าราบรื่นและมั่นใจว่าโมเดลข้อมูลของคุณรองรับการดำเนินการ crud ที่จำเป็นทั้งหมด วิธีใช้เอเจนต์ ai เปิดเอเจนต์ ai เข้าถึงได้ผ่านการตั้งค่าโปรเจกต์ของคุณในแดชบอร์ด back4app อธิบายโมเดลข้อมูลของคุณ ให้คำแนะนำที่ครอบคลุมเกี่ยวกับคลาสและฟิลด์ที่เกี่ยวข้อง ตรวจสอบและดำเนินการ ตรวจสอบโครงสร้างที่เสนอและยืนยันเพื่อใช้การกำหนดค่า ตัวอย่างคำแนะนำ create the following classes in my back4app project 1\) class items \ fields \ id objectid (auto generated) \ title string \ description string \ createdat date (auto generated) \ updatedat date (auto updated) 2\) class users \ fields \ id objectid (auto generated) \ username string (unique) \ email string (unique) \ passwordhash string \ createdat date (auto generated) \ updatedat date (auto updated) วิธีการที่ขับเคลื่อนด้วย ai นี้ช่วยประหยัดเวลาและรับประกันโครงสร้างข้อมูลที่สอดคล้องและปรับให้เหมาะสมสำหรับแอป ios ของคุณ ขั้นตอนที่ 3 – การเปิดแอปผู้ดูแลระบบและการจัดการการดำเนินการ crud ภาพรวมของแอปผู้ดูแลระบบ แอปผู้ดูแลระบบ back4app มีอินเทอร์เฟซที่ไม่ต้องเขียนโค้ดเพื่อจัดการข้อมูลแบ็กเอนด์ของคุณอย่างมีประสิทธิภาพ ฟีเจอร์การลากและวางที่ใช้งานง่ายช่วยให้กระบวนการสร้าง อ่าน อัปเดต และลบระเบียนเป็นเรื่องง่ายขึ้น การเปิดใช้งานแอปผู้ดูแลระบบ ไปที่ส่วน “เพิ่มเติม” ในแดชบอร์ด back4app ของคุณ เลือก “แอปผู้ดูแลระบบ” และคลิก “เปิดใช้งานแอปผู้ดูแลระบบ ” ตั้งค่าข้อมูลประจำตัวผู้ดูแลระบบของคุณ โดยการสร้างบัญชีผู้ดูแลระบบเริ่มต้น ซึ่งจะกำหนดบทบาทของระบบ (เช่น b4aadminuser ) เปิดใช้งานแอปผู้ดูแลระบบ หลังจากเปิดใช้งาน ให้เข้าสู่ระบบแอปผู้ดูแลระบบเพื่อจัดการข้อมูลของคุณ แดชบอร์ดแอปผู้ดูแลระบบ การจัดการข้อมูลด้วยแอปผู้ดูแลระบบ ภายในแอปผู้ดูแลระบบคุณสามารถ แทรกรายการ ใช้ฟีเจอร์ “เพิ่มรายการ” ภายในคลาสใด ๆ (เช่น รายการ) เพื่อแนะนำรายการใหม่ ตรวจสอบ/แก้ไขรายการ เลือกรายการเพื่อดูรายละเอียดหรือแก้ไขฟิลด์ของมัน ลบรายการ ลบรายการที่ไม่จำเป็นอีกต่อไป อินเทอร์เฟซที่ใช้งานง่ายนี้ช่วยให้การจัดการแบ็กเอนด์เป็นเรื่องง่ายและเพิ่มประสิทธิภาพการทำงาน ขั้นตอนที่ 4 – เชื่อมต่อแอป ios ของคุณกับ back4app เมื่อแบ็คเอนด์ของคุณพร้อมแล้ว ขั้นตอนถัดไปคือการเชื่อมต่อแอปพลิเคชัน ios ของคุณกับ back4app ตัวเลือก a การใช้ parse ios sdk ติดตั้ง parse ios sdk คุณสามารถรวม sdk โดยใช้ swift package manager หรือ cocoapods สำหรับ cocoapods ให้เพิ่มสิ่งต่อไปนี้ใน podfile pod 'parse' เริ่มต้น parse ในแอปของคุณ ใน appdelegate ของคุณ ให้กำหนดค่า parse โดยการแทรกโค้ดต่อไปนี้ // appdelegate swift import uikit import parse @uiapplicationmain class appdelegate uiresponder, uiapplicationdelegate { func application( application uiapplication, didfinishlaunchingwithoptions launchoptions \[uiapplication launchoptionskey any]?) > bool { let configuration = parseclientconfiguration { $0 applicationid = "your application id" $0 clientkey = "your ios key" // replace with your ios key $0 server = "https //parseapi back4app com" } parse initialize(with configuration) return true } // } ดำเนินการ crud สร้างคลาสบริการใน swift เพื่อจัดการการดำเนินการข้อมูลของคุณ ตัวอย่างเช่น บริการในการดึงและแสดงรายการ // itemsservice swift import foundation import parse class itemsservice { func fetchitems(completion @escaping (\[pfobject]?) > void) { let query = pfquery(classname "items") query findobjectsinbackground { (objects, error) in if let error = error { print("error retrieving items \\(error localizeddescription)") completion(nil) } else { completion(objects) } } } func additem(title string, description string) { let item = pfobject(classname "items") item\["title"] = title item\["description"] = description item saveinbackground { (success, error) in if success { print("item successfully created ") } else if let error = error { print("creation error \\(error localizeddescription)") } } } func modifyitem(objectid string, newtitle string, newdescription string) { let query = pfquery(classname "items") query getobjectinbackground(withid objectid) { (item, error) in if let item = item { item\["title"] = newtitle item\["description"] = newdescription item saveinbackground { (success, error) in if success { print("item updated ") } else if let error = error { print("update error \\(error localizeddescription)") } } } else if let error = error { print("error finding item \\(error localizeddescription)") } } } func removeitem(objectid string) { let query = pfquery(classname "items") query getobjectinbackground(withid objectid) { (item, error) in if let item = item { item deleteinbackground { (success, error) in if success { print("item deleted ") } else if let error = error { print("deletion error \\(error localizeddescription)") } } } else if let error = error { print("error locating item \\(error localizeddescription)") } } } } ตัวเลือก b การใช้ rest หรือ graphql หาก parse ios sdk ไม่ตรงตามความต้องการของคุณ คุณสามารถดำเนินการ crud ผ่านการเรียก rest ได้ ตัวอย่างเช่น การดึงข้อมูลรายการโดยใช้ rest ใน swift import foundation class restclient { func retrieveitems() { guard let url = url(string "https //parseapi back4app com/classes/items") else { return } var request = urlrequest(url url) request httpmethod = "get" request addvalue("your application id", forhttpheaderfield "x parse application id") request addvalue("your rest api key", forhttpheaderfield "x parse rest api key") urlsession shared datatask(with request) { data, response, error in if let error = error { print("error fetching items \\(error localizeddescription)") return } guard let data = data else { return } if let json = try? jsonserialization jsonobject(with data, options \[]) { print("fetched items \\(json)") } } resume() } } รวมวิธี api เหล่านี้เข้ากับคลาส swift ของคุณตามความจำเป็น ขั้นตอนที่ 5 – การรักษาความปลอดภัยให้กับ backend ของคุณ การกำหนดรายการควบคุมการเข้าถึง (acls) ปกป้องข้อมูลของคุณโดยการตั้งค่า acls ตัวอย่างเช่น เพื่อสร้างรายการที่เจ้าของเท่านั้นที่สามารถเข้าถึงได้ import parse func createprivateitem(title string, description string, owner pfuser) { let item = pfobject(classname "items") item\["title"] = title item\["description"] = description let acl = pfacl() acl setreadaccess(true, for owner) acl setwriteaccess(true, for owner) acl publicreadaccess = false acl publicwriteaccess = false item acl = acl item saveinbackground { (success, error) in if success { print("private item successfully created ") } else if let error = error { print("error saving item \\(error localizeddescription)") } } } การอนุญาตระดับคลาส (clps) ภายในแดชบอร์ด back4app ปรับ clps สำหรับคลาสของคุณเพื่อบังคับใช้มาตรการรักษาความปลอดภัยเริ่มต้น ซึ่งจะทำให้แน่ใจว่าผู้ใช้ที่ได้รับการตรวจสอบหรือบทบาทที่กำหนดเท่านั้นที่มีสิทธิ์เข้าถึงข้อมูลเฉพาะ ขั้นตอนที่ 6 – การดำเนินการตรวจสอบสิทธิ์ผู้ใช้ การตั้งค่าบัญชีผู้ใช้ back4app ใช้คลาสผู้ใช้ parse ที่สร้างขึ้นมาเพื่อจัดการการตรวจสอบสิทธิ์ ในแอปพลิเคชัน ios ของคุณ ให้จัดการการลงทะเบียนและการเข้าสู่ระบบของผู้ใช้ตามที่แสดงด้านล่าง import parse class authservice { func registeruser(username string, password string, email string) { let user = pfuser() user username = username user password = password user email = email user signupinbackground { (succeeded, error) in if succeeded { print("user registered successfully!") } else if let error = error { print("registration failed \\(error localizeddescription)") } } } func loginuser(username string, password string) { pfuser loginwithusername(inbackground username, password password) { (user, error) in if let user = user { print("logged in as \\(user username ?? "unknown")") } else if let error = error { print("login error \\(error localizeddescription)") } } } } วิธีการที่คล้ายกันสามารถนำไปใช้ในการจัดการเซสชัน การรีเซ็ตรหัสผ่าน และฟีเจอร์การตรวจสอบสิทธิ์อื่นๆ ขั้นตอนที่ 7 – สรุปและการปรับปรุงในอนาคต ขอแสดงความยินดี! คุณได้สร้างแอปพลิเคชัน crud บน ios ที่เชื่อมต่อกับ back4app สำเร็จแล้ว คุณได้กำหนดโปรเจกต์ชื่อ basic crud app ios , ออกแบบคลาส items และ users และจัดการข้อมูลของคุณโดยใช้ back4app admin app นอกจากนี้ คุณได้เชื่อมต่อแอป ios ของคุณผ่าน parse sdk (หรือผ่าน rest/graphql) และดำเนินการมาตรการด้านความปลอดภัยที่จำเป็น ขั้นตอนในอนาคต ขยายแอปพลิเคชัน พิจารณาเพิ่มฟีเจอร์เช่น การกรองขั้นสูง การแสดงรายละเอียดของรายการ หรือการอัปเดตแบบเรียลไทม์ เพิ่มความสามารถของแบ็คเอนด์ ทดลองใช้ฟังก์ชันคลาวด์ การรวม api ของบุคคลที่สาม หรือการควบคุมการเข้าถึงตามบทบาทที่ละเอียดมากขึ้น เพิ่มพูนความเชี่ยวชาญของคุณ เยี่ยมชม เอกสาร back4app https //www back4app com/docs และสำรวจบทเรียนเพิ่มเติมเพื่อเพิ่มประสิทธิภาพแอปพลิเคชันของคุณ ขอให้สนุกกับการเขียนโค้ดและขอให้โชคดีในเส้นทางการสร้างแอปพลิเคชัน ios ที่แข็งแกร่ง!