คำถามติดแท็ก ios

iOS เป็นระบบปฏิบัติการมือถือที่รันบน Apple iPhone, iPod touch และ iPad ใช้แท็กนี้ [ios] สำหรับคำถามที่เกี่ยวข้องกับการเขียนโปรแกรมบนแพลตฟอร์ม iOS ใช้แท็กที่เกี่ยวข้อง [object-c] และ [swift] สำหรับปัญหาเฉพาะสำหรับภาษาการเขียนโปรแกรมเหล่านั้น

15
การปิดใช้งานภาพเคลื่อนไหวโดยนัยใน - [CALayer setNeedsDisplayInRect:]
ฉันมีเลเยอร์พร้อมรหัสการวาดที่ซับซ้อนในเมธอด -drawInContext: ฉันพยายามลดจำนวนภาพวาดที่ฉันต้องทำดังนั้นฉันจึงใช้ -setNeedsDisplayInRect: เพื่ออัปเดตเฉพาะส่วนที่เปลี่ยนแปลง มันใช้งานได้อย่างยอดเยี่ยม อย่างไรก็ตามเมื่อระบบกราฟิกอัปเดตเลเยอร์ของฉันมันก็เปลี่ยนจากภาพเก่าเป็นภาพใหม่โดยใช้ cross-fade ฉันต้องการให้สลับทันที ฉันได้ลองใช้ CATransaction เพื่อปิดการกระทำและตั้งเวลาเป็นศูนย์และไม่ทำงาน นี่คือรหัสที่ฉันใช้: [CATransaction begin]; [CATransaction setDisableActions: YES]; [self setNeedsDisplayInRect: rect]; [CATransaction commit]; มีวิธีอื่นใน CATransaction ที่ฉันควรใช้แทน (ฉันได้ลอง -setValue: forKey: with kCATransactionDisableActions, ผลลัพธ์เดียวกัน)

15
วิธีการสร้างการแจกแจง bitmask สไตล์ NS_OPTIONS ใน Swift
ในเอกสารประกอบของ Apple เกี่ยวกับการโต้ตอบกับ C APIs พวกเขาอธิบายถึงวิธีNS_ENUMการระบุการแจกแจงแบบ C ที่ทำเครื่องหมายด้วยวิธีเป็น Swift enumerations สิ่งนี้สมเหตุสมผลและเนื่องจากมีการระบุ enumerations ใน Swift เป็นenumประเภทค่าจึงง่ายต่อการดูวิธีการสร้างของเราเอง นอกจากนี้ยังกล่าวถึงNS_OPTIONSตัวเลือก C-style ที่มีเครื่องหมาย: Swift ยังนำเข้าตัวเลือกที่มีเครื่องหมายNS_OPTIONSแมโคร ในขณะที่ตัวเลือกลักษณะการทำงานคล้ายจะ enumerations นำเข้าตัวเลือกยังสามารถรองรับการดำเนินงานบางบิตเช่น&, และ| ~ใน Objective-C คุณหมายถึงชุดตัวเลือกที่ว่างเปล่าที่มีค่าคงที่เป็นศูนย์ ( 0) ใน Swift ใช้nilเพื่อแสดงการไม่มีตัวเลือกใด ๆ ระบุว่าไม่มีoptionsประเภทค่าใน Swift เราจะสร้างตัวแปรตัวเลือก C-Style เพื่อทำงานได้อย่างไร

7
วิธีการหมุนเลิกใช้แล้วเทียบเท่ากับ 'didRotateFromInterfaceOrientation'?
ฉันพยายามที่จะใช้viewWillTransitionToSizeวิธีการใหม่ซึ่งได้รับการแนะนำใน iOS 8 (วิธีการหมุนอื่น ๆ ได้เลิกใช้แล้ว) ฉันต้องการที่จะรู้ว่าสิ่งที่เทียบเท่าdidRotateFromInterfaceOrientationคือตอนนี้เนื่องจากมีจำนวนของงานล้างที่เราจำเป็นต้องดำเนินการและฉันไม่เห็นบล็อกที่เราสามารถกำหนดให้UIViewControllerTransitionCoordinatorเพื่อที่จะถูกเรียกเมื่อ 'เปลี่ยน' เป็นใหม่ ขนาดเสร็จสิ้น ขอบคุณ
137 ios  iphone  objective-c  ios8 

8
ฉันจะรับ RootViewController จากคอนโทรลเลอร์ที่มีการพุชได้อย่างไร
ดังนั้นฉันดันดูควบคุมจาก RootViewController เช่น: [self.navigationController pushViewController: anotherViewController เคลื่อนไหว: YES]; แต่anotherViewControllerตอนนี้ฉันต้องการเข้าถึง RootViewController อีกครั้ง ฉันกำลังพยายาม // (ข้างใน anotherViewController ทันที) /// RootViewController * root = (RootViewController *) self.parentViewController; // ไม่ใช่ // ผิดพลาด RootViewController * root = (RootViewController *) [self.navigationController.viewControllers objectAtIndex: 0]; // ใช่ !! มันได้ผล ฉันไม่แน่ใจว่าทำไมจึงใช้งานได้และไม่แน่ใจว่าเป็นวิธีที่ดีที่สุด ใครบางคนสามารถแสดงความคิดเห็นเกี่ยวกับวิธีที่ดีกว่าในการรับ RootViewController จากคอนโทรลเลอร์ที่คุณส่งไปยัง navigationViewer ของ RootViewController และไม่ว่าวิธีที่ฉันทำนั้นเชื่อถือได้หรือไม่

16
Cocoapods: ไม่สามารถเชื่อมต่อกับ GitHub เพื่ออัปเดตรายละเอียด CocoaPods / Specs repo
เมื่อรันpod repo updateข้อผิดพลาดต่อไปนี้จะถูกสร้างขึ้น: Updating spec repo `master` [!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down ใช้ cocoapods 1.0.1 ฉันยังตระหนักถึงเรื่องนี้: อัตราข้อมูลจำเพาะ repo มาสเตอร์ จำกัด ชันสูตรศพ การเพิ่ม --verbose flag ในการโทรจะแสดง call stack ruby: .rvm/gems/ruby-2.3.0/gems/cocoapods-core-1.0.1/lib/cocoapods-core/github.rb:100:in `modified_since_commit' .rvm/gems/ruby-2.3.0/gems/cocoapods-core-1.0.1/lib/cocoapods-core/master_source.rb:32:in …

30
วิธีเลื่อนไปที่ด้านล่างของ UITableView บน iPhone ก่อนมุมมองจะปรากฏขึ้น
ฉันมีUITableViewเซลล์ที่มีความสูงแปรผัน ฉันต้องการให้ตารางเลื่อนไปที่ด้านล่างเมื่อมุมมองถูกผลักเข้าสู่มุมมอง ฉันมีฟังก์ชั่นต่อไปนี้ NSIndexPath *indexPath = [NSIndexPath indexPathForRow:[log count]-1 inSection:0]; [self.table scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionBottom animated:NO]; บันทึกเป็นอาร์เรย์ที่ไม่แน่นอนที่มีวัตถุที่ประกอบขึ้นเป็นเนื้อหาของแต่ละเซลล์ โค้ดด้านบนใช้งานได้ดีviewDidAppearแต่สิ่งนี้มีผลข้างเคียงที่โชคร้ายของการแสดงส่วนบนของตารางเมื่อมุมมองปรากฏขึ้นครั้งแรกและจากนั้นข้ามไปที่ด้านล่าง ฉันอยากได้ถ้าtable viewเลื่อนไปด้านล่างก่อนที่มันจะปรากฏขึ้น ฉันลองเลื่อนดูviewWillAppearและviewDidLoadในทั้งสองกรณีข้อมูลยังไม่ถูกโหลดลงในตารางและทั้งสองมีข้อยกเว้น คำแนะนำใด ๆ ที่จะได้รับการชื่นชมมากแม้ว่ามันจะเป็นเพียงกรณีของการบอกฉันว่าฉันมีทุกอย่างที่เป็นไปได้

6
autolayout - สร้างความสูงในการดูเมื่อเทียบกับความสูงครึ่งผู้ควบคุม
มีการเข้าสู่การชำระเงินอัตโนมัติเมื่อเร็ว ๆ นี้และฉันติดอยู่กับสิ่งที่ดูเหมือนว่าเป็นปัญหาเล็กน้อย ฉันมีมุมมองที่ฉันต้องการนั่งที่ด้านบนของหน้าจอและใช้เวลาครึ่งหนึ่งของความสูงของหน้าจอ ง่ายก่อนที่จะทำการชำระอัตโนมัติ - เพียงแค่เสียบเข้าที่และบอกให้ขยายในแนวตั้งเมื่อผู้ควบคุมปรับขนาด ตอนนี้ฉันทำไม่ได้สำหรับชีวิตของฉันดูวิธีการทำ นี่คือสิ่งที่ฉันได้รับเมื่อพยายามตั้งค่า: ข้อ จำกัด พื้นที่ด้านล่างถูกตั้งค่าเป็น "เท่ากับ 284" ซึ่งแน่นอนและไร้ประโยชน์อย่างยิ่งกับฉันเมื่อฉันเปลี่ยนเป็นเค้าโครง iPhone4 เนื่องจากมันช่วยให้มีพื้นที่ 284 จุดที่ด้านล่างของหน้าจอและทำให้มุมมองลดลงอีกครึ่ง ขนาดของหน้าจอ และไม่มีวิธีการตั้งค่าที่ จำกัด ให้เท่ากับเศษส่วนบางส่วนของความสูงของมุมมองอื่น ๆ .. หลังจากดิ้นรนไประยะหนึ่งแล้ววิธีเดียวที่ฉันสามารถคิดได้ว่าทำเช่นนี้คือการแนะนำมุมมองอื่นที่อยู่ใต้มุมมองนี้ตรึงความสูงของพวกเขาอย่างเท่าเทียมกันให้พวกเขานั่งด้านบนและด้านล่างซึ่งกันและกันแล้วตั้งมุมมองที่สอง .. ซึ่งดูเหมือนน่าเกลียดเล็กน้อย! ฉันขาดอะไรบางอย่างที่ชัดเจนหรือไม่ ..
136 ios  autolayout 

18
วิธีที่เชื่อถือได้ในการทำให้แอป iOS ขัดข้องคืออะไร
ฉันต้องการทดสอบการรายงานข้อขัดข้องของแอพในฟิลด์โดยตั้งใจว่าจะเกิดข้อผิดพลาดเมื่อผู้ใช้ทำการกระทำเฉพาะที่ผู้ใช้จริงไม่น่าจะทำโดยไม่ตั้งใจ แต่อะไรคือวิธีที่เชื่อถือได้ดีในการทำให้แอพขัดข้องซึ่งไม่ได้สร้างคำเตือนในเวลารวบรวม แก้ไข:โปรดทราบว่าคำตอบที่ดูเหมือนจะชัดเจนสำหรับคำถามนี้ส่งผลให้เกิดข้อยกเว้นที่ Cocoa ติดและไม่ส่งผลให้แอปหยุดทำงาน
136 iphone  objective-c  ios 

13
ไม่พบคลาสย่อยเฉพาะของ NSManagedObject
ฉันกำลังพัฒนาแอพด้วย Core Data เมื่อฉันสร้างอินสแตนซ์โดยใช้: let entity = NSEntityDescription.entityForName("User", inManagedObjectContext: appDelegate.managedObjectContext) let user = User(entity: entity, insertIntoManagedObjectContext: appDelegate.managedObjectContext) ฉันได้รับคำเตือนในบันทึก: CoreData: warning: Unable to load class named 'User' for entity 'User'. Class not found, using default NSManagedObject instead. ฉันจะแก้ไขได้อย่างไร และคำถามอื่นฉันจะกำหนดวิธีการอินสแตนซ์ในคลาสย่อย NSManagedObject ได้อย่างไร แก้ไข: ฉันได้ระบุคลาสของเอนทิตีเหมือนในภาพหน้าจอต่อไปนี้:

4
ฉันจะตั้งค่าตัวแทนอย่างง่ายในการสื่อสารระหว่างสองตัวควบคุมมุมมองได้อย่างไร
ฉันมีสองUITableViewControllersและจำเป็นต้องส่งค่าจากตัวควบคุมมุมมองลูกไปยังผู้ปกครองโดยใช้ผู้รับมอบสิทธิ์ ฉันรู้ว่าผู้ได้รับมอบหมายคืออะไรและแค่ต้องการเห็นตัวอย่างง่ายๆในการติดตาม ขอบคุณ

10
การรับรายการไฟล์ในไดเรกทอรีด้วย glob
ด้วยเหตุผลบางอย่างที่บ้าฉันไม่สามารถหาวิธีรับรายชื่อไฟล์ด้วย glob สำหรับไดเรกทอรีที่กำหนดได้ ฉันกำลังติดอยู่กับบางสิ่งบางอย่างตามแนวของ: NSString *bundleRoot = [[NSBundle mainBundle] bundlePath]; NSArray *dirContents = [[NSFileManager defaultManager] directoryContentsAtPath:bundleRoot]; .. แล้วลอกสิ่งที่ฉันไม่ต้องการออก แต่สิ่งที่ฉันชอบจริงๆก็คือสามารถค้นหาบางอย่างเช่น "foo * .jpg" แทนที่จะขอไดเรกทอรีทั้งหมด แต่ฉันไม่สามารถหาอะไรแบบนั้นได้ แล้วคุณทำยังไงล่ะ

8
iPhone SDK: loadView และ viewDidLoad แตกต่างกันอย่างไร
เมื่อทำงานกับมุมมองและตัวควบคุมมุมมองในแอพ iPhone ทุกคนสามารถอธิบายความแตกต่างระหว่าง loadView และ viewDidLoad ได้หรือไม่ บริบทส่วนบุคคลของฉันคือฉันสร้างมุมมองทั้งหมดของฉันจากรหัสฉันไม่และจะไม่ใช้ตัวสร้างส่วนต่อประสานที่ควรสร้างความแตกต่างใด ๆ ฉันพบว่าบ่อยครั้งที่ฉันเพิ่มรหัสเริ่มต้นลงใน loadView ฉันจะจบด้วยการติดตามสแต็กที่ไม่สิ้นสุดดังนั้นโดยทั่วไปฉันจะสร้างสิ่งที่เด็กดูทั้งหมดใน viewDidLoad ... แต่มันก็ไม่ชัดเจนสำหรับฉันเมื่อถูกประมวลผลและ ตำแหน่งที่เหมาะสมในการใส่รหัส init คืออะไร สิ่งที่จะสมบูรณ์แบบเป็นแผนภาพง่าย ๆ ของการเริ่มต้นการโทร ขอบคุณ!

7
การติดตาม / ตรวจสอบการใช้ข้อมูล iPhone
ฉันค้นหาในหัวข้อนี้ แต่พบรายละเอียดน้อยมากซึ่งเป็นประโยชน์ ด้วยรายละเอียดเหล่านี้ฉันได้ลองทำโค้ดบางส่วนดังนี้ หมายเหตุ: โปรดเปรียบเทียบรายละเอียดที่แชร์ในโพสต์นี้กับโพสต์อื่นก่อนที่จะทำเครื่องหมายว่า DUPLICATE ไม่ใช่เฉพาะเรื่อง - (NSArray *)getDataCountersForType:(int)type { BOOL success; struct ifaddrs *addrs = nil; const struct ifaddrs *cursor = nil; const struct sockaddr_dl *dlAddr = nil; const struct if_data *networkStatisc = nil; int dataSent = 0; int dataReceived = 0; success = getifaddrs(&addrs) == 0; if …
136 iphone  ios  sockets 

1
แฟล็ก -ObjC linker ทำอะไร
ฉันมีแอพที่ทำงานร่วมกับและไม่มีธงลิงเกอร์ อย่างไรก็ตามหากไม่มีการตั้งค่าตัวเชื่อมโยงฉันจะได้รับพฤติกรรมที่แตกต่างกันมากเมื่อเพิ่มข้อมูลลงในมุมมอง

1
ปุ่มเก็บถาวรเป็นสีเทาใน Xcode
คุณสามารถช่วยฉันเข้าใจสาเหตุที่ปุ่มเก็บถาวรเป็นสีเทาใน Xcode หรือไม่ ฉันดาวน์โหลดโปรไฟล์ผู้พัฒนาทั้งหมดแล้ว ตั้งค่าประเภทอุปกรณ์เป็น iPhone 6 และตรวจสอบที่เก็บถาวรในรูปแบบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.