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

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


4
เหตุใดไฟล์ Objective-C จึงใช้นามสกุล. m
ตั้งแต่ฉันเริ่มเรียนรู้ Objective-C และ Cocoa ฉันสงสัยว่าทำไมพวกเขาถึงเลือกนามสกุล. m สำหรับไฟล์ติดตั้ง - มันควรจะมีความหมายอะไรหรือเป็นแค่ตัวอักษรแบบสุ่ม?

11
เข้าถึง Container View Controller จาก Parent iOS
ใน iOS6 ฉันสังเกตเห็นมุมมองคอนเทนเนอร์ใหม่ แต่ฉันยังไม่แน่ใจว่าจะเข้าถึงตัวควบคุมได้อย่างไรจากมุมมองที่มีอยู่ สถานการณ์: ฉันต้องการเข้าถึงป้ายกำกับในตัวควบคุมมุมมองการแจ้งเตือนจากตัวควบคุมมุมมองที่บ้านมุมมองคอนเทนเนอร์ มีความแตกต่างระหว่างกันฉันจะใช้มันได้หรือไม่

13
สร้าง segue โดยทางโปรแกรม
ฉันมีส่วนร่วมUIViewControllerที่ส่วนUIViewsControllersขยายของฉันทั้งหมดเพื่อนำการดำเนินการทั่วไปมาใช้ซ้ำ ฉันต้องการตั้งค่าการต่อยอดให้กับ "สามัญ" นี้UIViewControllerเพื่อให้ผู้อื่นUIViewControllersได้รับมรดก ฉันกำลังพยายามหาวิธีที่ฉันจะเขียนโปรแกรม ฉันเดาว่าคำถามอาจเป็นไปได้อย่างไรที่ฉันจะตั้งค่าให้segueกับทุกคนUIViewControllersโดยไม่ต้องเข้าไปในกระดานเรื่องราวและทำด้วยมือ
202 ios  objective-c  segue 

5
@synchronized lock / unlock ใน Objective-C ทำอย่างไร
@ ซิงโครไนซ์ไม่ได้ใช้ "ล็อค" และ "ปลดล็อค" เพื่อให้เกิดการยกเว้นซึ่งกันและกันหรือไม่? มันล็อค / ปลดล็อกได้อย่างไร ผลลัพธ์ของโปรแกรมต่อไปนี้เป็น "Hello World" เท่านั้น @interface MyLock: NSLock<NSLocking> @end @implementation MyLock - (id)init { return [super init]; } - (void)lock { NSLog(@"before lock"); [super lock]; NSLog(@"after lock"); } - (void)unlock { NSLog(@"before unlock"); [super unlock]; NSLog(@"after unlock"); } @end int main (int …

3
มีวิธีการทำซ้ำในพจนานุกรมหรือไม่?
ฉันรู้ว่าNSDictionariesเป็นสิ่งที่คุณต้องการในการสั่งซื้อที่จะได้รับkey valueแต่ฉันจะทำซ้ำได้ทั้งหมดkeysและvaluesในNSDictionaryเพื่อที่ฉันจะรู้ว่ามีกุญแจอะไรและมีคุณค่าอะไรบ้าง? ฉันรู้ว่ามีสิ่งที่เรียกว่าสำหรับในวงJavaScriptใน มีอะไรที่คล้ายกันObjective-Cไหม?

22
ฉันจะสร้างลิงก์ที่คลิกได้ใน NSAttributedString ได้อย่างไร
มันเป็นเรื่องเล็ก ๆ น้อย ๆ UITextViewที่จะทำให้การเชื่อมโยงหลายมิติที่สามารถคลิกได้ใน คุณเพิ่งตั้งช่องทำเครื่องหมาย "ตรวจสอบลิงก์" ในมุมมองใน IB และตรวจจับลิงก์ HTTP และเปลี่ยนเป็นไฮเปอร์ลิงก์ อย่างไรก็ตามนั่นก็หมายความว่าสิ่งที่ผู้ใช้เห็นคือลิงค์ "ดิบ" ไฟล์ RTF และ HTML ทั้งสองตัวช่วยให้คุณสามารถตั้งค่าสตริงที่ผู้ใช้สามารถอ่านได้พร้อมลิงค์ "behind" มันง่ายที่จะติดตั้งข้อความประกอบในมุมมองข้อความ (หรือ a UILabelหรือUITextFieldสำหรับเรื่องนั้น) อย่างไรก็ตามเมื่อข้อความประกอบนั้นมีลิงค์อยู่มันไม่สามารถคลิกได้ มีวิธีที่จะทำให้ผู้ใช้สามารถอ่านได้ที่คลิกข้อความในหนึ่งUITextView, UILabelหรือUITextField? มาร์กอัปนั้นแตกต่างกันใน SO แต่นี่เป็นแนวคิดทั่วไป สิ่งที่ฉันต้องการคือข้อความเช่นนี้: morph นี้สร้างขึ้นด้วยFace Dancerคลิกเพื่อดูใน app store สิ่งเดียวที่ฉันจะได้คือ: morph นี้สร้างขึ้นด้วย Face Dancer คลิกที่http://example.com/facedancerเพื่อดูใน app store

9
ผู้รับประเภท *** สำหรับข้อความตัวอย่างเป็นการประกาศล่วงหน้า
ในแอพ iOS5 ของฉันฉันมีNSObject Statesชั้นเรียนและพยายามเริ่ม: states = [states init]; นี่คือinitวิธีการในStates: - (id) init { if ((self = [super init])) { pickedGlasses = 0; } return self; } แต่มีข้อผิดพลาดในบรรทัด states = [states init]; ผู้รับประเภท "สถานะ" สำหรับข้อความตัวอย่างเป็นการประกาศล่วงหน้า มันหมายความว่าอะไร? ผมทำอะไรผิดหรือเปล่า?

2
คัดลอกข้อความไปยังคลิปบอร์ดด้วย iOS
วิธีที่ดีที่สุดในการคัดลอกข้อความไปยังคลิปบอร์ดของ iPhone ในแอปพลิเคชันของคุณคืออะไร? เอกสารของพวกเขาเป็นภาพร่างและมีคุณสมบัติมากกว่าวิธีที่ฉันต้องการ ... ฉันแค่ต้องการตั้งค่าสตริงเป็นคลิปบอร์ดผู้ใช้

25
ระยะห่างระหว่างเซลล์ใน UICollectionView
ฉันจะตั้งค่าระยะห่างของเซลล์ในส่วนของได้UICollectionViewอย่างไร ฉันรู้ว่ามีสถานที่ให้บริการminimumInteritemSpacingฉันได้ตั้งไว้ที่ 5.0 ยังคงเป็นระยะห่างไม่ปรากฏ 5.0 ฉันใช้วิธีการมอบหมาย flowout - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section { return 5.0; } ยังฉันไม่ได้รับผลลัพธ์ที่ต้องการ ฉันคิดว่ามันเป็นระยะห่างขั้นต่ำ ไม่มีวิธีใดที่ฉันสามารถกำหนดระยะห่างสูงสุดได้หรือไม่

11
การตั้งค่าภาพสำหรับ UIButton ในรหัส
คุณจะตั้งค่าภาพสำหรับรหัส UIB ได้อย่างไร? ฉันมีสิ่งนี้: UIButton *btnTwo = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btnTwo.frame = CGRectMake(40, 140, 240, 30); [btnTwo setTitle:@"vc2:v1" forState:UIControlStateNormal]; [btnTwo addTarget:self action:@selector(goToOne) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:btnTwo]; แต่ไม่เห็นสิ่งที่จะตั้งค่าภาพสำหรับมัน

11
พยายามตั้งค่าวัตถุที่ไม่ใช่รายการทรัพย์สินเป็น NSUserDefaults
ฉันคิดว่าฉันรู้ว่าสิ่งใดที่ทำให้เกิดข้อผิดพลาดนี้ แต่ฉันไม่สามารถเข้าใจได้ว่าฉันทำอะไรผิด นี่คือข้อความแสดงข้อผิดพลาดทั้งหมดที่ฉันได้รับ: พยายามตั้งค่าวัตถุที่ไม่ใช่รายการทรัพย์สิน ( "<BC_Person: 0x8f3c140>" ) เป็นค่า NSUserDefaults สำหรับคีย์ personDataArray ฉันมีPersonชั้นเรียนที่ฉันคิดว่าสอดคล้องกับNSCodingโปรโตคอลที่ฉันมีทั้งสองวิธีในชั้นเรียนส่วนตัวของฉัน: - (void)encodeWithCoder:(NSCoder *)coder { [coder encodeObject:self.personsName forKey:@"BCPersonsName"]; [coder encodeObject:self.personsBills forKey:@"BCPersonsBillsArray"]; } - (id)initWithCoder:(NSCoder *)coder { self = [super init]; if (self) { self.personsName = [coder decodeObjectForKey:@"BCPersonsName"]; self.personsBills = [coder decodeObjectForKey:@"BCPersonsBillsArray"]; } return self; } ณ จุดใน app …

16
อะไรคือ Swift ที่เทียบเท่ากับ responssToSelector?
ฉัน googled แต่ไม่สามารถค้นหาสิ่งที่เทียบเท่ากับที่respondsToSelector:รวดเร็ว นี่เป็นสิ่งเดียวที่ฉันสามารถหาได้ ( ทางเลือกที่รวดเร็วในการตอบสนองต่อ SelectSelector:)แต่ไม่เกี่ยวข้องกันมากเกินไปในกรณีที่ตรวจสอบการมีอยู่ของผู้รับมอบสิทธิ์ฉันไม่มีผู้รับมอบสิทธิ์ฉันแค่ต้องการตรวจสอบว่ามี API ใหม่หรือไม่ หรือไม่เมื่อทำงานบนอุปกรณ์และหากไม่ถอยกลับไปเป็นรุ่นก่อนหน้าของ API

20
วิธีที่ดีที่สุดที่จะลบออกจาก NSMutableArray ขณะทำซ้ำ?
ในโกโก้ถ้าฉันต้องการวนลูปผ่าน NSMutableArray และลบวัตถุหลายอย่างที่ตรงกับเกณฑ์ที่กำหนดวิธีที่ดีที่สุดในการทำเช่นนี้คืออะไรโดยไม่ต้องรีสตาร์ทลูปทุกครั้งที่ฉันลบวัตถุออก ขอบคุณ แก้ไข: เพียงเพื่อชี้แจง - ฉันกำลังมองหาวิธีที่ดีที่สุดเช่นบางสิ่งที่สวยงามกว่าการอัปเดตดัชนีด้วยตนเองที่ฉันอยู่ เช่นใน C ++ ฉันสามารถทำได้ iterator it = someList.begin(); while (it != someList.end()) { if (shouldRemove(it)) it = someList.erase(it); }
194 objective-c  cocoa 

3
@try - catch block ใน Objective-C
เหตุใด @try block จึงไม่ทำงาน มันทำให้แอปขัดข้อง แต่มันควรจะถูกบล็อก @try NSString* test = [NSString stringWithString:@"ss"]; @try { [test characterAtIndex:6]; } @catch (NSException * e) { NSLog(@"Exception: %@", e); } @finally { NSLog(@"finally"); }

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