13
แนวทางปฏิบัติที่ดีที่สุดสำหรับหน้าจอเข้าสู่ระบบ Storyboard จัดการการล้างข้อมูลเมื่อออกจากระบบ
ฉันกำลังสร้างแอพ iOS โดยใช้สตอรี่บอร์ด ตัวควบคุมมุมมองรูทเป็นตัวควบคุมแถบแท็บ ฉันกำลังสร้างกระบวนการเข้าสู่ระบบ / ออกจากระบบและส่วนใหญ่ทำงานได้ดี แต่ฉันมีปัญหาเล็กน้อย ฉันจำเป็นต้องรู้วิธีที่ดีที่สุดในการตั้งค่าทั้งหมดนี้ ฉันต้องการทำสิ่งต่อไปนี้ให้สำเร็จ: แสดงหน้าจอเข้าสู่ระบบในครั้งแรกที่เปิดตัวแอพ เมื่อเข้าสู่ระบบให้ไปที่แท็บแรกของ Tab Bar Controller เมื่อใดก็ตามที่พวกเขาเปิดแอพหลังจากนั้นให้ตรวจสอบว่าพวกเขาเข้าสู่ระบบและข้ามตรงไปที่แท็บแรกของตัวควบคุมแถบแท็บราก เมื่อพวกเขาคลิกปุ่มออกจากระบบด้วยตนเองแสดงหน้าจอเข้าสู่ระบบและล้างข้อมูลทั้งหมดจากตัวควบคุมมุมมอง สิ่งที่ฉันได้ทำไปแล้วคือการตั้งค่าตัวควบคุมมุมมองรูทเป็นตัวควบคุมแถบของแท็บและสร้างส่วนต่อขยายที่กำหนดเองให้กับตัวควบคุมมุมมองล็อกอินของฉัน ในคลาส Tab Bar Controller ของฉันฉันตรวจสอบว่าพวกเขาเข้าสู่ระบบภายในviewDidAppearวิธีการและดำเนินการต่อ:[self performSegueWithIdentifier:@"pushLogin" sender:self]; ฉันยังตั้งค่าการแจ้งเตือนเมื่อต้องมีการดำเนินการล็อกเอาต์: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(logoutAccount) name:@"logoutAccount" object:nil]; เมื่อออกจากระบบฉันล้างข้อมูลรับรองจาก Keychain เรียกใช้[self setSelectedIndex:0]และดำเนินการต่อเพื่อแสดงตัวควบคุมมุมมองการเข้าสู่ระบบอีกครั้ง ทั้งหมดนี้ใช้งานได้ดี แต่ฉันสงสัยว่า: ตรรกะนี้ควรอยู่ใน AppDelegate หรือไม่ ฉันยังมีสองประเด็น: ครั้งแรกที่พวกเขาเปิดแอปตัวควบคุมแถบของแท็บจะแสดงสั้น ๆ ก่อนที่จะดำเนินการต่อ ฉันได้ลองย้ายรหัสไปแล้วviewWillAppearแต่การทำต่อไม่ได้ผล เมื่อพวกเขาออกจากระบบข้อมูลทั้งหมดจะยังคงอยู่ในตัวควบคุมมุมมองทั้งหมด หากพวกเขาลงชื่อเข้าใช้บัญชีใหม่ข้อมูลบัญชีเก่าจะยังคงปรากฏจนกว่าพวกเขาจะรีเฟรช ฉันต้องการวิธีล้างข้อมูลนี้อย่างง่ายดายเมื่อออกจากระบบ ฉันเปิดให้ทำงานใหม่ได้ …
290
ios
login
uistoryboard
logout
clear