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

Cocoa เป็นกรอบการพัฒนาแอปพลิเคชันของ Apple สำหรับ macOS ซึ่งประกอบด้วย Foundation, Application Kit และ Core Data ใช้แท็ก "cocoa-touch" สำหรับคำถาม iOS

3
NSLog / printf specifier สำหรับ NSInteger?
A NSIntegerคือ 32 บิตบนแพลตฟอร์ม 32 บิตและ 64 บิตบนแพลตฟอร์ม 64 บิต มีตัวNSLogระบุที่ตรงกับขนาดNSIntegerหรือไม่ ติดตั้ง Xcode 3.2.5 llvm 1.6 คอมไพเลอร์(นี่เป็นสิ่งสำคัญ gcc ไม่ทำสิ่งนี้) GCC_WARN_TYPECHECK_CALLS_TO_PRINTF เปิด นั่นทำให้ฉันเสียใจที่นี่: #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { @autoreleasepool { NSInteger i = 0; NSLog(@"%d", i); } return 0; } สำหรับรหัส 32 บิตฉันต้องการตัว%dระบุ แต่ถ้าฉันใช้ตัว%dระบุฉันจะได้รับคำเตือนเมื่อคอมไพล์เป็น 64 …

8
มีไลบรารีแผนภูมิที่ดีสำหรับ iPhone หรือไม่? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดขึ้นมาใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันมีความต้องการที่จะเรนเดอร์และแสดงแผนภูมิ (ในตอนนี้แผนภูมิแท่ง แต่อาจต้องใช้ประเภทอื่น ๆ ในภายหลัง) ในแอพ iPhone ที่ฉันกำลังทำงานอยู่ ฉันมองไปรอบ ๆ แล้วและดูเหมือนว่ายังไม่มีไลบรารีการสร้างแผนภูมิที่ดีและเป็นผู้ใหญ่สำหรับ iPhone เลย ฉันยังมองหาสิ่งที่เขียนขึ้นสำหรับ Cocoa บน Mac ที่สามารถปรับเปลี่ยนได้ แต่ยังไม่พบอะไรที่ยอดเยี่ยม มีใครจัดการกับเรื่องนี้มาก่อน? ข้อเสนอแนะใด ๆ ฉันพบCore Plotแต่ดูเหมือนว่าจะอยู่ในช่วงเริ่มต้นของการพัฒนา แก้ไขเพื่อเพิ่มรายละเอียดข้อกำหนดบางอย่าง (ตามที่มีอยู่ในปัจจุบัน;)) แผนภูมิแท่ง แผนภูมิแท่งแนวนอน แผนภูมิแท่งซ้อนสองชั้น ป้ายแกน (รวมหมุน 90 องศาบนแกน y) ป้ายกำกับเหนือแต่ละแท่งในแผนภูมิ พื้นหลังสีเทาหรือแบบกำหนดเอง

6
อะไรคือความแตกต่างระหว่าง "ชื่อที่แสดงบันเดิล" และ "ชื่อบันเดิล" ในข้อมูลแอปพลิเคชันโกโก้
นี่เป็นคำถามที่ดี: Bundle Name, Executeable Name, Product Name ... มีอะไรอีกไหม? แต่ฉันแค่สงสัยเกี่ยวกับความแตกต่างระหว่าง "ชื่อที่แสดงบันเดิล" และ "ชื่อบันเดิล" ในข้อมูลแอปพลิเคชันโกโก้


2
ลบ autolayout (ข้อ จำกัด ) ใน Interface Builder
ฉันพยายามทำให้โปรเจ็กต์ของฉันเข้ากันได้กับ Snow Leopard และฉันไม่สามารถลบการจัดวางอัตโนมัติในหัวปากกาโดยใช้ตัวสร้างอินเทอร์เฟซ (XCode 4.3 บน Lion) เป็นไปได้หรือไม่ที่จะลบข้อ จำกัด และการจัดวางอัตโนมัติในปลายปากกาบน XCode


7
ใช้ C ++ กับโกโก้แทน Objective-C หรือไม่?
ฉันต้องการเขียนแอปพลิเคชันที่ใช้ C ++ และ Cocoa frameworks เนื่องจาก Apple ไม่ได้ทำให้ Carbon 64-bit มีความสามารถ C ++ ดูเหมือนจะเป็นวานิลลาในการใช้งานบน Linux และ Windows แต่ใน MacOS X ดูเหมือนว่าจำเป็นต้องมีโค้ดเฉพาะของ Apple เพิ่มเติม (เช่นกระดาษห่อหุ้ม Obj-C) ดูเหมือนว่า Apple กำลังบังคับให้นักพัฒนาเขียนใน Objective-C แทนที่จะเป็น C ++ แม้ว่าฉันจะผิด ฉันกำลังพยายามหาเส้นทางในการเขียนโค้ดบน Mac ที่จะทำให้ข้ามแพลตฟอร์มได้ง่าย การเขียนโค้ดใน C ++ สำหรับ Linux / Windows แล้วเขียนซ้ำส่วนใหญ่ใน Objective-C จะไม่มีประสิทธิภาพมาก มีวิธีการเขียนโค้ดใน C ++ …

14
การทำความเข้าใจการนับอ้างอิงด้วย Cocoa และ Objective-C
ฉันเพิ่งเริ่มดู Objective-C และ Cocoa ด้วยมุมมองในการเล่นกับ iPhone SDK ฉันพอใจกับแนวคิดmallocและfreeแนวคิดของ C พอสมควรแต่รูปแบบการนับการอ้างอิงของ Cocoa ทำให้ฉันค่อนข้างสับสน ฉันบอกแล้วว่ามันสวยมากเมื่อคุณเข้าใจ แต่ฉันยังไม่เกินโคก วิธีทำrelease, retainและautoreleaseการทำงานและสิ่งที่มีการประชุมเกี่ยวกับการใช้ของพวกเขา? (หรือล้มเหลวคุณอ่านอะไรที่ช่วยให้คุณได้รับมัน)

9
กรอง NSArray เป็น NSArray ใหม่ใน Objective-C
ฉันมีNSArrayและฉันต้องการสร้างNSArrayวัตถุใหม่จากอาร์เรย์เดิมที่ตรงตามเกณฑ์ที่กำหนด เกณฑ์จะถูกกำหนดโดยฟังก์ชันที่ส่งคืน a BOOL. ฉันสามารถสร้างNSMutableArrayทำซ้ำผ่านอาร์เรย์ต้นทางและคัดลอกวัตถุที่ฟังก์ชันตัวกรองยอมรับแล้วสร้างเวอร์ชันที่ไม่เปลี่ยนรูปได้ มีวิธีที่ดีกว่า?

2
“ คอลเลกชันถูกกลายพันธุ์ในขณะที่ถูกแจกแจง” บน executeFetchRequest
ตอนนี้ฉันติดปัญหามาหลายชั่วโมงแล้วและอ่านทุกอย่างเกี่ยวกับสิ่งนี้ใน stackoverflow (และใช้ทุกคำแนะนำที่พบ) ตอนนี้ฉันต้องการความช่วยเหลืออย่างเป็นทางการ ; o) นี่คือบริบท: ในโครงการ iPhone ของฉันฉันต้องนำเข้าข้อมูลบนพื้นหลังและแทรกในบริบทวัตถุที่มีการจัดการ ตามคำแนะนำที่พบที่นี่นี่คือสิ่งที่ฉันกำลังทำ: บันทึก moc หลัก จัดเตรียมม็อคพื้นหลังโดยใช้ผู้ประสานงานร้านค้าถาวรที่ใช้โดยมอคหลัก ลงทะเบียนคอนโทรลเลอร์ของฉันเป็นผู้สังเกตการณ์ของการแจ้งเตือน NSManagedObjectContextDidSaveNotification สำหรับ moc พื้นหลัง เรียกใช้วิธีการนำเข้าบนเธรดพื้นหลัง ทุกครั้งที่ได้รับข้อมูลให้ใส่ข้อมูลลงในพื้นหลัง moc เมื่อนำเข้าข้อมูลทั้งหมดแล้วให้บันทึกพื้นหลัง moc รวมการเปลี่ยนแปลงเข้ากับ moc หลักบนเธรดหลัก ยกเลิกการลงทะเบียนคอนโทรลเลอร์ของฉันเป็นผู้สังเกตการณ์สำหรับการแจ้งเตือน รีเซ็ตและปล่อยพื้นหลัง moc บางครั้ง (และสุ่ม) ข้อยกเว้น ... *** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSCFSet: 0x5e0b930> was mutated …

5
วิธีใช้ NSCache
ใครช่วยยกตัวอย่างวิธีใช้NSCacheแคชสตริงได้ไหม หรือใครมีลิงค์คำอธิบายดีๆ? หาไม่เจอ ..

13
ตรวจสอบว่าเธรดปัจจุบันเป็นเธรดหลักหรือไม่
มีวิธีใดในการตรวจสอบว่าเธรดปัจจุบันเป็นเธรดหลักใน Objective-C หรือไม่ ฉันอยากทำอะไรแบบนี้ - (void)someMethod { if (IS_THIS_MAIN_THREAD?) { NSLog(@"ok. this is main thread."); } else { NSLog(@"don't call this method from other thread!"); } }

3
จะรับวัตถุ Core Data จาก Object ID เฉพาะได้อย่างไร
ฉันสามารถรับ ID ของวัตถุใน Core Data ได้อย่างง่ายดายโดยใช้รหัสต่อไปนี้: NSManagedObjectID *moID = [managedObject objectID]; อย่างไรก็ตามมีวิธีนำออบเจ็กต์ออกจากที่เก็บข้อมูลหลักโดยการให้ ID อ็อบเจ็กต์เฉพาะหรือไม่ ฉันรู้ว่าฉันสามารถทำได้โดยใช้ NSFetchRequest เช่นนี้: NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"Document" inManagedObjectContext:managedObjectContext]; [fetchRequest setEntity:entity]; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(objectID = %@)", myObjectID]; [fetchRequest setPredicate:predicate]; อย่างไรก็ตามฉันต้องการดำเนินการในลักษณะที่ไม่ได้เริ่มต้นคำขอดึงข้อมูลของตัวเอง ความคิดใด ๆ ?


6
การคัดลอก NSArray อย่างละเอียด
มีฟังก์ชั่นในตัวที่ช่วยให้ฉันคัดลอกแบบลึกได้NSMutableArrayหรือไม่? ฉันมองไปรอบ ๆ บางคนบอกว่า[aMutableArray copyWithZone:nil]งานเป็นสำเนาลึก แต่ฉันลองแล้วดูเหมือนว่าจะเป็นการลอกแบบตื้น ๆ ตอนนี้ฉันกำลังทำสำเนาด้วยตัวเองด้วยการforวนซ้ำ: //deep copy a 9*9 mutable array to a passed-in reference array -deepMuCopy : (NSMutableArray*) array toNewArray : (NSMutableArray*) arrayNew { [arrayNew removeAllObjects];//ensure it's clean for (int y = 0; y<9; y++) { [arrayNew addObject:[NSMutableArray new]]; for (int x = 0; x<9; x++) …

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