คำถามติดแท็ก objective-c

แท็กนี้ควรใช้กับคำถามที่เกี่ยวกับคุณสมบัติ Objective-C หรือขึ้นอยู่กับรหัสในภาษา ควรใช้แท็ก [cocoa] และ [cocoa-touch] เพื่อสอบถามเกี่ยวกับกรอบหรือคลาสของ Apple ใช้แท็กที่เกี่ยวข้อง [ios], [macos], [apple-watch] และ [tvos] สำหรับปัญหาเฉพาะของแพลตฟอร์มเหล่านั้น

4
วิธีสร้างแอนิเมชั่น“ Pulse effect” แบบเนทีฟบน UIButton - iOS
ฉันต้องการมีแอนิเมชั่นพัลส์บางประเภท (infinite loop "scale in - scale out") บน UIButton เพื่อให้ผู้ใช้ได้รับความสนใจทันที ฉันเห็นลิงค์นี้วิธีสร้างเอฟเฟกต์พัลส์โดยใช้ -webkit-animation - วงแหวนด้านนอกแต่ฉันสงสัยว่ามีวิธีใดบ้างที่จะทำได้โดยใช้เนทีฟเฟรมเวิร์กเท่านั้น?

12
การยืนยันล้มเหลวใน - [UITableView _endCellAnimationsWithContext:]
หวังว่านี่จะเป็นการแก้ไขโดยเร็ว ฉันพยายามหาข้อผิดพลาดที่ได้รับเรื่อย ๆ ข้อผิดพลาดแสดงอยู่ด้านล่างและ appdelagate อยู่ด้านล่าง ขอความช่วยเหลือใด ๆ ขอบคุณ 2012-04-12 21: 11: 52.669 Chanda [75100: f803] --- การยืนยันล้มเหลวใน-[UITableView _endCellAnimationsWithContext:], /SourceCache/UIKit_Sim/UIKit-1914.84/UITableView.m:1037 2012-04-12 21: 11: 52.671 Chanda [75100: f803] --- การยุติแอปเนื่องจากข้อยกเว้นที่ไม่ได้ตรวจพบ ' NSInternalInconsistencyException' , เหตุผล: 'การอัปเดตไม่ถูกต้อง: จำนวนแถวที่ไม่ถูกต้องในส่วน 0 จำนวนแถวที่มีอยู่ในส่วนที่มีอยู่หลังจากการอัปเดต (2) ต้องเท่ากับจำนวนแถวที่อยู่ในส่วนนั้นก่อนการอัปเดต (2) บวก หรือลบจำนวนแถวที่แทรกหรือลบออกจากส่วนนั้น (แทรก 1 รายการลบ 0) และบวกหรือลบจำนวนแถวที่ย้ายเข้าหรือออกจากส่วนนั้น (0 ย้ายเข้า 0 …

12
เพิ่มปุ่มในแถบนำทางโดยใช้โปรแกรม
สวัสดีฉันต้องตั้งค่าปุ่มทางด้านขวาในแถบนำทางตามโปรแกรมดังนั้นถ้าฉันกดปุ่มฉันจะดำเนินการบางอย่าง ฉันได้สร้างแถบการนำทางโดยทางโปรแกรมโดย; navBar=[[UINavigationBar alloc]initWithFrame:CGRectMake(0,0,320,44) ]; ในทำนองเดียวกันฉันต้องเพิ่มปุ่มทางด้านขวาของแถบนำทางนี้ สำหรับสิ่งที่ฉันใช้ 1. UIView* container = [[UIView alloc] init]; // create a button and add it to the container UIButton* button = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 130, 44.01)]; [container addSubview:button]; [button release]; // add another button button = [[UIButton alloc] initWithFrame:CGRectMake(160, 0, 50, 44.01)]; [container …

11
วิธีที่ดีที่สุดในการวางโครงสร้าง c ใน NSArray คืออะไร?
วิธีปกติในการจัดเก็บโครงสร้าง c ใน an NSArrayคืออะไร? ข้อดีข้อเสียการจัดการหน่วยความจำ? โดยเฉพาะอย่างยิ่งความแตกต่างระหว่างvalueWithBytesและvalueWithPointer - เลี้ยงโดยจัสตินกับปลาดุกด้านล่างคืออะไร นี่คือลิงค์ไปยังการสนทนาของ Apple valueWithBytes:objCType:สำหรับผู้อ่านในอนาคต ... สำหรับการคิดด้านข้างและดูประสิทธิภาพมากขึ้น Evgen ได้ยกประเด็นการใช้งาน STL::vectorในC ++ (นั่นทำให้เกิดประเด็นที่น่าสนใจคือมีไลบรารี c แบบเร็วซึ่งไม่ต่างจากSTL::vectorแต่เบากว่ามากที่ช่วยให้ "จัดการอาร์เรย์เป็นระเบียบเรียบร้อยน้อยที่สุด ... ?) ดังนั้นคำถามเดิม ... ตัวอย่างเช่น: typedef struct _Megapoint { float w,x,y,z; } Megapoint; ดังนั้น: อะไรคือวิธีปกติที่ดีที่สุดและเป็นสำนวนในการจัดเก็บโครงสร้างของตัวเองในรูปแบบ NSArrayนั้นและคุณจัดการกับหน่วยความจำในสำนวนนั้นอย่างไร โปรดทราบว่าฉันกำลังมองหาสำนวนปกติเพื่อจัดเก็บโครงสร้างโดยเฉพาะ แน่นอนเราสามารถหลีกเลี่ยงปัญหานี้ได้โดยการสร้างชั้นเรียนเล็ก ๆ ใหม่ อย่างไรก็ตามฉันต้องการทราบว่าสำนวนปกติสำหรับการวางโครงสร้างในอาร์เรย์เป็นอย่างไรขอบคุณ BTW นี่คือแนวทาง NSData ซึ่งอาจเป็น? ไม่ดีที่สุด ... Megapoint …

20
เหตุใดจึงไม่เรียก RegisterForRemoteNotificationsWithDeviceToken
ฉันกำลังสร้างแอปพลิเคชันที่ฉันต้องการใช้บริการแจ้งเตือนแบบพุชของ Apple ฉันกำลังทำตามคำแนะนำทีละขั้นตอนที่ให้ไว้ในบทช่วยสอนนี้ แต่ถึงกระนั้นก็ยังไม่มีการเรียกวิธีการดังกล่าว ฉันไม่รู้ว่าอะไรเป็นสาเหตุของปัญหา ใครสามารถช่วยฉัน? - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { //NSString * token = [[NSString alloc] initWithData:deviceTokenencoding:NSUTF8StringEncoding]; NSString *str = [NSString stringWithFormat:@"Device Token=%@",deviceToken]; NSLog(@"Device Token:%@",str); //NSLog(@"Device token is called"); //const void *devTokenBytes = [deviceToken bytes]; //NSLog(@"Device Token"); } - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)err { NSString *str = [NSString …

6
ฉันไม่ต้องการภาพเคลื่อนไหวในการอัปเดตเริ่มต้นปิดกั้นการอัปเดตสำหรับ uitableview?
ฉันมี UITableView ที่ใช้เซลล์ตารางที่กำหนดเองและแต่ละเซลล์มี UIWebView เนื่องจาก UIWebView ใช้เวลาโหลดนานฉันจึงต้องการหลีกเลี่ยงการโหลดซ้ำโดยเสียค่าใช้จ่ายทั้งหมด ในบางสถานการณ์ฉันโหลดเซลล์ทั้งหมดแล้ว แต่ความสูงของมันกลับยุ่งเหยิง ดังนั้นฉันต้อง "relayout" ตารางโดยไม่เรียกใช้ฟังก์ชัน "cellForRow" ฉันไม่สามารถใช้ reloadData ได้อย่างแน่นอน ... เพราะมันจะโหลดเซลล์อีกครั้ง ฉันลอง tableView.setNeedDisplay, setNeedsLayout และอื่น ๆ ไม่มีใครสามารถจัดเรียงเซลล์ตารางใหม่ได้ วิธีเดียวที่ใช้งานได้คือการเรียกบล็อก beginupdates / endupdates บล็อกนี้สามารถถ่ายทอดตารางของฉันได้โดยไม่ต้องยิง cellForRow! แต่ฉันไม่ต้องการภาพเคลื่อนไหว! บล็อกนี้สร้างเอฟเฟกต์ภาพเคลื่อนไหว แต่ฉันไม่ต้องการ ... ฉันจะแก้ปัญหาของฉันได้อย่างไร?

20
UIScrollView: เพจในแนวนอนเลื่อนในแนวตั้ง?
ฉันจะบังคับให้UIScrollViewเพจและการเลื่อนที่เปิดอยู่เพื่อเลื่อนเฉพาะในแนวตั้งหรือแนวนอนในช่วงเวลาที่กำหนดได้อย่างไร ความเข้าใจของฉันคือdirectionalLockEnabledคุณสมบัติควรบรรลุสิ่งนี้ แต่การปัดในแนวทแยงยังคงทำให้มุมมองเลื่อนตามแนวทแยงมุมแทนที่จะ จำกัด การเคลื่อนไหวให้อยู่ที่แกนเดียว แก้ไข: เพื่อให้ชัดเจนยิ่งขึ้นฉันต้องการอนุญาตให้ผู้ใช้เลื่อนในแนวนอนหรือแนวตั้ง แต่ไม่ใช่ทั้งสองอย่างพร้อมกัน

10
ข้อผิดพลาด Xcode linker: ไฟล์เล็กเกินไปสำหรับสถาปัตยกรรม x86_64
ฉันกำลังพัฒนาแอปพลิเคชันใน Xcode เมื่อฉันพยายามสร้างข้อผิดพลาดนี้เกิดขึ้น: ld: in /Users/theodore/Library/Developer/Xcode/DerivedData/Tower-bkpdifuqssebjdgurzmtirbxejnn/Build/Intermediates/Tower.build/Debug/Tower.build/Objects-normal/x86_64/TWRAppDelegate.o, file too small for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) ไม่มีใครรู้ว่ามีอะไรผิดปกติ?

1
NSString เป็น CFStringRef และ CFStringRef เป็น NSString ใน ARC?
ฉันกำลังพยายามทำความเข้าใจวิธีที่ถูกต้องในการรับNSStringจากCFStringRefARC หรือไม่? เช่นเดียวกันกับการไปในทิศทางตรงกันข้ามCFStringRefกับNSStringใน ARC? อะไรคือวิธีที่ถูกต้องในการทำเช่นนี้โดยไม่ทำให้หน่วยความจำรั่วไหล?

6
iOS: ใช้บูลีนใน NSUserDefaults
เมื่อrootViewControllerโหลดแอปพลิเคชันของฉันฉันต้องการตรวจสอบว่าได้บันทึกข้อมูลรับรองการเข้าสู่ระบบของผู้ใช้ไว้NSUserDefaultsหรือไม่ โดยทั่วไปเมื่อผู้ใช้โหลดแอปพลิเคชันและไม่ได้บันทึกข้อมูลรับรองการเข้าสู่ระบบระบบmodalAlertViewจะผลักดันและผู้ใช้จะสามารถบันทึกข้อมูลรับรองได้อย่างเหมาะสม สิ่งนี้จะบันทึกUITextFieldสตริงเหล่านั้นไปยังNSUserDefaultออบเจ็กต์ที่เกี่ยวข้อง อย่างไรก็ตามเป็นไปได้ไหมว่าเมื่อการประหยัดเสร็จสิ้นฉันสามารถสร้างNSUserDefaultวัตถุที่เป็นบูลีนและเปลี่ยนค่าเป็นใช่ได้? หมายความว่าบูลีนถูกตั้งค่าเป็นไม่ใช่แล้วและเมื่อผู้ใช้บันทึกข้อมูลรับรองการเข้าสู่ระบบของพวกเขาก็จะเปลี่ยนบูลีนเป็นใช่?

1
หมวดหมู่สามารถใช้โปรโตคอลใน Objective C ได้หรือไม่?
ฉันมีหมวดหมู่ใน NSDate และจะสะดวกหากสามารถใช้โปรโตคอลที่ฉันสร้างไว้ก่อนหน้านี้ได้ เป็นไปได้หรือไม่ ไวยากรณ์ที่ถูกต้องสำหรับสิ่งนี้คืออะไร?

3
Objective-C หลายมรดก
ฉันมี 2 คลาสหนึ่งมี methodA และอีกคลาสรวม methodB ดังนั้นในคลาสใหม่ฉันต้องแทนที่ method methodA และ methodB ดังนั้นฉันจะบรรลุการสืบทอดหลายรายการในวัตถุประสงค์ C ได้อย่างไร ฉันสับสนเล็กน้อยกับไวยากรณ์

13
การจัดการการเชื่อมต่อ NSURLC แบบอะซิงโครนัสหลายรายการ
ฉันมีรหัสซ้ำจำนวนมากในชั้นเรียนของฉันซึ่งมีลักษณะดังนี้: NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; ปัญหาเกี่ยวกับคำขอแบบอะซิงโครนัสคือเมื่อคุณมีคำขอต่าง ๆ เกิดขึ้นและคุณมีผู้รับมอบสิทธิ์ที่ได้รับมอบหมายให้ปฏิบัติต่อพวกเขาทั้งหมดเป็นเอนทิตีเดียวโค้ดที่แตกแขนงและน่าเกลียดจำนวนมากเริ่มที่จะกำหนดให้ดำเนินการต่อไป: ข้อมูลประเภทใดที่เราได้รับกลับมา? หากมีสิ่งนี้ให้ทำอย่างอื่นทำอย่างอื่น ฉันคิดว่าจะมีประโยชน์ในการติดแท็กคำขอแบบอะซิงโครนัสเหล่านี้เช่นเดียวกับที่คุณสามารถแท็กมุมมองด้วย ID ได้ ฉันอยากรู้ว่ากลยุทธ์ใดที่มีประสิทธิภาพมากที่สุดสำหรับการจัดการคลาสที่จัดการกับคำขอแบบอะซิงโครนัสหลายรายการ

9
จะปรับแต่งฟองคำบรรยายภาพสำหรับ MKAnnotationView ได้อย่างไร
ฉันกำลังทำงานกับ mapkit และฉันติดอยู่ ฉันมีมุมมองคำอธิบายประกอบแบบกำหนดเองที่ฉันใช้อยู่และฉันต้องการใช้คุณสมบัติรูปภาพเพื่อแสดงจุดบนแผนที่ด้วยไอคอนของฉันเอง ฉันทำงานได้ดี แต่สิ่งที่ฉันต้องการทำคือการลบล้างมุมมองคำบรรยายเริ่มต้น (ฟองอากาศที่แสดงพร้อมชื่อเรื่อง / คำบรรยายเมื่อแตะไอคอนคำอธิบายประกอบ) ฉันต้องการควบคุมไฮไลต์เองได้: mapkit ให้การเข้าถึงเฉพาะมุมมองไฮไลต์เสริมด้านซ้ายและด้านขวาเท่านั้น แต่ไม่มีวิธีใดที่จะให้มุมมองที่กำหนดเองสำหรับฟองคำบรรยายภาพหรือกำหนดขนาดเป็นศูนย์หรืออย่างอื่น ความคิดของฉันคือการแทนที่ selectAnnotation / deselectAnnotation ในของฉันMKMapViewDelegateจากนั้นวาดมุมมองที่กำหนดเองของฉันเองโดยการโทรไปยังมุมมองคำอธิบายประกอบที่กำหนดเองของฉัน สิ่งนี้ใช้ได้ แต่เมื่อcanShowCalloutถูกตั้งค่าเป็นYESคลาสมุมมองคำอธิบายประกอบที่กำหนดเองของฉันเท่านั้น วิธีการเหล่านี้จะไม่ถูกเรียกหากฉันตั้งค่านี้เป็นNO(ซึ่งเป็นสิ่งที่ฉันต้องการเพื่อไม่ให้มีการดึงฟองคำบรรยายเริ่มต้น) ดังนั้นฉันจึงไม่มีทางรู้ได้ว่าผู้ใช้แตะจุดของฉันบนแผนที่ (เลือกไว้) หรือแตะจุดที่ไม่ได้เป็นส่วนหนึ่งของมุมมองคำอธิบายประกอบของฉัน (เลือกที่จะเลือก) โดยไม่ต้องมีมุมมองคำบรรยายภาพเริ่มต้นปรากฏขึ้น ฉันพยายามไปตามเส้นทางอื่นและจัดการเหตุการณ์การสัมผัสทั้งหมดด้วยตัวเองในแผนที่และดูเหมือนจะไม่สามารถใช้งานได้ ฉันอ่านโพสต์อื่น ๆ ที่เกี่ยวข้องกับการจับเหตุการณ์การสัมผัสในมุมมองแผนที่ แต่ไม่ตรงกับที่ฉันต้องการ มีวิธีเจาะลึกลงไปในมุมมองแผนที่เพื่อลบฟองคำบรรยายก่อนวาดหรือไม่ ฉันกำลังสูญเสีย ข้อเสนอแนะใด ๆ ? ฉันขาดอะไรบางอย่างที่ชัดเจนหรือไม่?

6
จะพิมพ์หรือบันทึกค่าของวัตถุ CGSize ได้อย่างไร?
ฉันพยายามบันทึก (พิมพ์) ค่าของวัตถุ CGSize ดังนี้: CGSize sizeOfTab = CGSizeMake(self.frame.size.width/tabCount, 49); NSLog(@"size of tab is %@",sizeOfTab); มีอะไรผิดปกติในรหัสนี้; แอปของฉันขัดข้องในขณะที่การควบคุมมาถึงคำสั่ง NSLog ขอบคุณปรา

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