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

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

10
ฉันจะใช้ Objective-C singleton ที่เข้ากันได้กับ ARC ได้อย่างไร
ฉันจะแปลง (หรือสร้าง) คลาสซิงเกิลตันที่รวบรวมและทำงานอย่างถูกต้องเมื่อใช้การนับการอ้างอิงอัตโนมัติ (ARC) ใน Xcode 4.2 ได้อย่างไร

2
Objective-C Runtime: วิธีที่ดีที่สุดในการตรวจสอบว่า class สอดคล้องกับโปรโตคอลหรือไม่?
ฉันมีคลาส (แต่ไม่มีอินสแตนซ์) และจำเป็นต้องทราบว่าเป็นไปตามโปรโตคอลที่แน่นอนหรือไม่ อย่างไรก็ตาม Class สามารถ subclassed ได้หลายครั้งและ class_conformsToProtocol () จะไม่สนใจโปรโตคอลที่ประกาศบนซูเปอร์คลาส ฉันสามารถใช้ class_getSuperclass () และตรวจสอบคลาสทั้งหมดซ้ำในลำดับชั้นขึ้นไปจนกระทั่งซูเปอร์คลาสนั้นเป็นศูนย์ อย่างไรก็ตามฉันสงสัยว่ามันอาจจะไม่มีประสิทธิภาพสำหรับชั้นเรียนที่ซ้อนกันอย่างลึกล้ำและอาจมีวิธีที่ดีกว่าในการทำเช่นนั้น? กล่าวอีกนัยหนึ่งวิธีการของ NSObject นั้นสอดคล้องกับ ToProtocol อย่างไรที่ใช้งานได้ดีที่สุดโดยใช้วิธีการทำงานแบบ Objective-C เพื่อที่จะหาโปรโตคอลบนซูเปอร์คลาส [myObject conformsToProtocol:@protocol(MyProtocol)]; ถ้าฉันอยู่ในเส้นทางที่ถูกต้องและมีลำดับชั้นของคลาสแบบเรียกซ้ำแจ้งให้ฉันทราบ


7
Objective-C แตกต่างจาก C ++ อย่างไร [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา อะไรคือความแตกต่างที่สำคัญระหว่าง Objective-C และ C ++ ในแง่ของไวยากรณ์, คุณสมบัติ, กระบวนทัศน์, กรอบงานและห้องสมุด? * สำคัญ: เป้าหมายของฉันคือไม่เริ่มสงครามการแสดงระหว่างสองภาษา ฉันแค่ต้องการข้อเท็จจริงที่ยากจริง ในความเป็นจริงคำถามของฉันไม่เกี่ยวข้องกับประสิทธิภาพ! โปรดให้แหล่งที่มาสำหรับสิ่งที่อาจดูเหมือนเป็นความคิดเห็น
171 c++  objective-c 

7
แปลง UIImage เป็น NSData
ฉันใช้รหัสนี้ในแอพของฉันซึ่งจะช่วยให้ฉันส่งภาพได้ อย่างไรก็ตามฉันมีมุมมองภาพพร้อมรูปภาพ ฉันไม่มีไฟล์ใน appbundle แต่มีภาพอยู่ข้างๆ ฉันจะเปลี่ยนรหัสด้านล่างได้อย่างไร ใครช่วยบอกฉันฉันจะแปลงmyimageเป็นNSDataอย่างไร // Attach an image to the email NSString *path = [[NSBundle mainBundle] pathForResource:@"rainy" ofType:@"jpg"]; NSData *myData = [NSData dataWithContentsOfFile:path]; [picker addAttachmentData:myData mimeType:@"image/jpeg" fileName:@"rainy"];

5
Objective-C ที่เทียบเท่าสำหรับ“ toString ()” สำหรับใช้กับ NSLog คืออะไร
มีวิธีการที่ฉันสามารถแทนที่ในชั้นเรียนที่กำหนดเองของฉันเพื่อให้เมื่อ NSLog(@"%@", myObject) ถูกเรียกมันจะพิมพ์ฟิลด์ (หรืออะไรก็ตามที่ฉันเห็นว่าสำคัญ) ของวัตถุของฉัน ผมคิดว่าผมกำลังมองหาเทียบเท่า Objective-C ของของ toString()Java

16
เมื่อใดที่ฉันควรใช้ nil และ NULL ใน Objective-C
นี่คือตัวอย่างรหัส: NSDictionary *myDictionary = [NSDictionary dictionary]; NSNumber *myNumber = [myDictionary valueForKey: @"MyNumber"]; NSLog(@"myNumber = %@", myNumber); // output myNumber = (null) if (myNumber == nil) NSLog(@"test 1 myNumber == nil"); if (myNumber == NULL) NSLog(@"test 2 myNumber == NULL"); if ([myNumber isEqual:[NSNull null]]) NSLog(@"test 3 myNumber == [NSNull null]"); เมื่อใดที่ฉันควรใช้ …
170 objective-c  null  nsnull 


20
ปรับขนาด UITableView ให้พอดีกับเนื้อหา
ฉันกำลังสร้างแอพที่จะมีคำถามในUILabelคำตอบแบบหลายตัวเลือกและแสดงในUITableViewแต่ละแถวแสดงทางเลือกที่หลากหลาย คำถามและคำตอบจะแตกต่างกันไปดังนั้นฉันต้องการUITableViewให้สิ่งนี้มีความสูงแบบไดนามิก ฉันต้องการหาsizeToFitงานทำสำหรับโต๊ะ ตำแหน่งที่เฟรมของตารางถูกตั้งค่าเป็นความสูงของเนื้อหาทั้งหมด ใครสามารถให้คำแนะนำเกี่ยวกับวิธีที่ฉันสามารถบรรลุสิ่งนี้

7
iphone Core Data Unresolved error error ขณะบันทึก
ฉันได้รับข้อความแสดงข้อผิดพลาดแปลก ๆ จากข้อมูลหลักเมื่อพยายามบันทึก แต่ปัญหาที่ข้อผิดพลาดนั้นไม่สามารถทำซ้ำได้ (ปรากฏในเวลาต่างกันเมื่อทำงานต่างกัน) ข้อความแสดงข้อผิดพลาด: Unresolved error Domain=NSCocoaErrorDomain Code=1560 UserInfo=0x14f5480 "Operation could not be completed. (Cocoa error 1560.)", { NSDetailedErrors = ( Error Domain=NSCocoaErrorDomain Code=1570 UserInfo=0x5406d70 "Operation could not be completed. (Cocoa error 1570.)", Error Domain=NSCocoaErrorDomain Code=1570 UserInfo=0x14f9be0 "Operation could not be completed. (Cocoa error 1570.)" ); } และวิธีการสร้างข้อผิดพลาดคือ: …

11
การหน่วงเวลา / การหน่วงช้าสุดสำหรับการเคลื่อนไหวของแป้นพิมพ์เริ่มต้นของ UITextField
เอาล่ะปัญหานี้ทำให้ฉันบ้า มันต้องใช้เวลาประมาณ 3-4 UITextFieldวินาทีเพื่อให้แป้นพิมพ์จะปรากฏขึ้นหลังจากที่ผมสัมผัสของฉัน สิ่งนี้จะเกิดขึ้นในครั้งแรกที่แป้นพิมพ์โผล่ขึ้นมาตั้งแต่เปิดตัวแอปหลังจากนั้นภาพเคลื่อนไหวจะเริ่มขึ้นทันที ตอนแรกฉันคิดว่ามันเป็นปัญหาในการโหลดภาพมากเกินไปหรือของฉันUITableViewแต่ฉันเพิ่งสร้างโปรเจ็กต์ใหม่ที่มีเพียงแค่ a UITextFieldและฉันยังคงประสบปัญหานี้อยู่ ฉันใช้ iOS 5, Xcode ver 4.2 และใช้งานบน iPhone 4S นี่คือรหัสของฉัน: #import "ViewController.h" @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(20, 20, 280, 30)]; textField.borderStyle = UITextBorderStyleRoundedRect; textField.delegate = self; [self.view addSubview:textField]; } @end นี่เป็นปัญหาที่พบบ่อยสำหรับแอปทั้งหมดหรือไม่ ตอนนี้วิธีเดียวที่ฉันจะทำให้ดีขึ้นก็คือการtextFieldเป็น / ลาออกก่อนตอบกลับviewDidAppearมา …

5
ความแตกต่างระหว่างการใช้ CGFloat กับการลอยคืออะไร?
ฉันมักจะใช้ CGFloat ไปทั่วทุกที่ แต่ฉันสงสัยว่าฉันได้รับ "การแสดงที่มีประสิทธิภาพ" อย่างนี้หรือไม่ CGFloat ดูเหมือนจะเป็นอะไรที่ "หนักกว่า" ลอยกว่าใช่มั้ย ฉันควรใช้ CGFloat ในจุดใดและอะไรทำให้เกิดความแตกต่างอย่างแท้จริง

4
สีข้อความชื่อ UIButton
ฉันกำลังตั้งค่าสีข้อความสำหรับ UIButton headingButton.titleLabel.textColor = [UIColor colorWithRed:36/255.0 green:71/255.0 blue:113/255.0 alpha:1.0]; มันไม่ได้เปลี่ยนรหัสสีเดียวกันกับที่ฉันใช้ในรหัสอื่นที่ใช้งานได้

4
วิธีเลิกสมาชิกด้วยตนเอง
แตกต่างจาก Objective-C Swift ไม่มีตัวประมวลผลล่วงหน้าดังนั้นยังมีวิธีที่จะเลิกสมาชิกของคลาสด้วยตนเองหรือไม่? ฉันกำลังมองหาบางอย่างที่คล้ายกับนี้: -(id)method __deprecated;

4
วิธีที่ดีที่สุดในการจัดการกับ NSDateFormatter locale“ feechur” คืออะไร?
ดูเหมือนว่าNSDateFormatterมี "คุณสมบัติ" ที่กัดคุณโดยไม่คาดคิด: หากคุณทำการดำเนินการรูปแบบ "คงที่" อย่างง่ายเช่น: NSDateFormatter* fmt = [[NSDateFormatter alloc] init]; [fmt setDateFormat:@"yyyyMMddHHmmss"]; NSString* dateStr = [fmt stringFromDate:someDate]; [fmt release]; จากนั้นก็ใช้งานได้ดีในสหรัฐอเมริกาและตำแหน่งที่ตั้งส่วนใหญ่จนกระทั่ง ... ใครบางคนที่มีโทรศัพท์ตั้งค่าเป็น 24 ชั่วโมงตั้งค่าสวิตช์ 12/24 ชั่วโมงในการตั้งค่าเป็น 12 จากนั้นด้านบนจะเริ่มทำการตรึง "AM" หรือ "PM" จุดสิ้นสุดของสตริงผลลัพธ์ (ดู, เช่น, NSDateFormatter, ฉันกำลังทำอะไรผิดหรือเป็นบั๊ก? ) (และดูhttps://developer.apple.com/library/content/qa/qa1480/_index.html ) เห็นได้ชัดว่า Apple ประกาศว่า "BAD" ไม่ดีเท่าที่ออกแบบมาและพวกเขาจะไม่แก้ไข การหลีกเลี่ยงนั้นดูเหมือนจะกำหนดสถานที่ของตัวจัดรูปแบบวันที่สำหรับภูมิภาคเฉพาะซึ่งโดยทั่วไปคือสหรัฐอเมริกา แต่นี่มันค่อนข้างยุ่งเหยิง: NSLocale *loc …

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