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

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

7
วิธีโหลดไฟล์ xib ใน UIView
ฉันได้ค้นหาทุกที่และจนถึงตอนนี้ก็ไม่มีอะไรได้ผลสำหรับฉัน โดยทั่วไปฉันต้องการมีไฟล์. xib ที่เรียกว่า rootView.xib และภายในนั้นฉันต้องการมี UIView (เรียกว่า containerView) ที่ใช้เวลาเพียงครึ่งหนึ่งของหน้าจอ (ดังนั้นจะมีมุมมองปกติและมุมมองใหม่) จากนั้นฉันต้องการไฟล์. xib อื่นที่เรียกว่า firstView.xib และโหลดภายใน containerView ดังนั้นฉันสามารถมีหลายอย่างใน firstView.xib และสิ่งต่าง ๆ มากมายใน rootView.xib และโหลด firstView.xib ของฉันภายใน containerView ใน rootView.xib แต่เนื่องจากใช้เวลาเพียงครึ่งหนึ่งของหน้าจอคุณจึงยังคงเห็น สิ่งต่างๆบน rootView.xib
111 ios  objective-c  uiview  xib 

3
การใช้คุณสมบัติ BOOL
Apple แนะนำให้ประกาศคุณสมบัติ BOOL ด้วยวิธีนี้: @property (nonatomic, assign, getter=isWorking) BOOL working; ขณะที่ฉันใช้คุณสมบัติ Objective-C 2.0 และสัญกรณ์จุดฉันจึงเข้าถึงคุณสมบัตินี้โดยใช้self.working. ฉันรู้ว่าฉันสามารถใช้[self isWorking]- แต่ฉันไม่จำเป็นต้องใช้ ดังนั้นเนื่องจากฉันใช้สัญกรณ์จุดทุกที่ทำไมฉันจึงต้องกำหนดคุณสมบัติพิเศษ มันจะโอเคไหมที่จะเขียน @property (nonatomic, assign) BOOL working; หรือฉันมีประโยชน์getter=isWorkingในการเขียนกรณีของฉัน (การใช้สัญลักษณ์จุด) หรือไม่? ขอบคุณ!

5
ตรวจสอบว่ามีวิธีการหรือไม่
มีวิธีใดบ้างที่ฉันสามารถทดสอบว่ามีวิธีการอยู่ใน Objective-C หรือไม่ ฉันพยายามเพิ่มยามเพื่อดูว่าวัตถุของฉันมีวิธีการก่อนที่จะเรียกมันหรือไม่
111 objective-c 

20
ฉันจะตรวจสอบโดยทางโปรแกรมได้อย่างไรว่ามีแป้นพิมพ์อยู่ในแอป iOS หรือไม่
ฉันต้องการตรวจสอบสภาพการมองเห็นแป้นพิมพ์ในแอป iOS ของฉัน รหัสเทียม: if(keyboardIsPresentOnWindow) { //Do action 1 } else if (keyboardIsNotPresentOnWindow) { //Do action 2 } ฉันจะตรวจสอบเงื่อนไขนี้ได้อย่างไร?

11
คำเตือน:“ format not a string literal and no format arguments”
ตั้งแต่อัปเกรดเป็น Xcode 3.2.1 และ Snow Leopard ล่าสุดฉันได้รับคำเตือน "format ไม่ใช่สตริงลิเทอรัลและไม่มีอาร์กิวเมนต์รูปแบบ" จากรหัสต่อไปนี้: NSError *error = nil; if (![self.managedObjectContext save:&error]) { NSLog([NSString stringWithFormat:@"%@ %@, %@", errorMsgFormat, error, [error userInfo]]); } ถ้าerrorMsgFormatเป็นNSStringกับตัวระบุรูปแบบ (เช่น :) "print me like this: %@"มีอะไรผิดปกติกับการNSLogเรียกข้างต้น? และวิธีใดที่แนะนำในการแก้ไขเพื่อไม่ให้เกิดคำเตือน


5
Objective-C Split ()?
มีวิธีใดในการแยกสตริงในวัตถุประสงค์ c เป็นอาร์เรย์หรือไม่? ฉันหมายถึงแบบนี้ - สตริงอินพุตใช่: 0: 42: ค่าในอาร์เรย์ของ (ใช่ 0,42 ค่า)?

30
วิธีปิดการใช้งานคัดลอกตัดเลือกเลือกทั้งหมดใน UITextView
ฟังก์ชันการUITextViewคัดลอกตัดเลือกเลือกทั้งหมดจะแสดงตามค่าเริ่มต้นเมื่อฉันกดลงบนหน้าจอ แต่ในโครงการของฉันUITextFieldเป็นเพียงการอ่านเท่านั้น ฉันไม่ต้องการฟังก์ชันนี้ โปรดบอกวิธีปิดใช้งานคุณลักษณะนี้


10
ลบสีไฮไลต์เซลล์ของ UITableView
ฉันต้องการลบสีฟ้าเริ่มต้นของการเลือกเซลล์ uitableview ฉันไม่ต้องการเลือกสีใด ๆ ที่นั่น ฉันยังไม่ได้สร้างคลาสเซลล์แบบกำหนดเอง ฉันกำลังปรับแต่งเซลล์โดยเพิ่มป้ายกำกับและปุ่มต่างๆ ฉันพยายามทำ: cell.selectioncolor = [UIColor clearcolor]; แต่มันบอกว่าวิธีนี้เลิกใช้แล้ว


7
NSAttributedString เพิ่มการจัดตำแหน่งข้อความ
ฉันจะเพิ่มแอตทริบิวต์การจัดแนวข้อความให้กับ NSAttributedString เพื่อจัดข้อความให้อยู่กึ่งกลางได้อย่างไร แก้ไข: ฉันทำอะไรผิดหรือเปล่า? ดูเหมือนจะไม่เปลี่ยนแนว CTParagraphStyleSetting setting; setting.spec = kCTParagraphStyleSpecifierAlignment; setting.valueSize = kCTCenterTextAlignment; CTParagraphStyleSetting settings[1] = { {kCTParagraphStyleSpecifierAlignment, sizeof(CGFloat), &setting}, }; CTParagraphStyleRef paragraph = CTParagraphStyleCreate(settings, sizeof(setting)); NSMutableAttributedString *mutableAttributed = [[NSMutableAttributedString alloc] initWithAttributedString:self.attributedString]; [mutableAttributed addAttributes:[NSDictionary dictionaryWithObjectsAndKeys:(NSObject*)paragraph ,(NSString*) kCTParagraphStyleAttributeName, nil] range:_selectedRange];

12
แอปพลิเคชัน iOS: จะล้างการแจ้งเตือนได้อย่างไร
ฉันมีแอปพลิเคชัน iOS ที่มีการส่ง Push Notification ไปที่ ปัญหาของฉันคือข้อความ / การแจ้งเตือนยังคงอยู่ในศูนย์การแจ้งเตือนใน iOS หลังจากนั้นจะถูกแตะ ฉันจะลบการแจ้งเตือนสำหรับแอปพลิเคชันของฉันในศูนย์การแจ้งเตือนในครั้งถัดไปที่แอปพลิเคชันเปิดขึ้นได้อย่างไร ฉันเจอโพสต์ที่มีคนโทรหาsetApplicationIconBadgeNumberค่าศูนย์เพื่อล้างการแจ้งเตือน มันดูแปลกมากสำหรับฉันดังนั้นฉันเชื่อว่าอาจมีทางออกอื่นอยู่? แก้ไข 1: ฉันมีปัญหาในการล้างการแจ้งเตือน โปรดดูรหัสของฉันที่นี่: - (void) clearNotifications { [[UIApplication sharedApplication] setApplicationIconBadgeNumber: 0]; [[UIApplication sharedApplication] cancelAllLocalNotifications]; } - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if (launchOptions != nil) { NSDictionary* dictionary = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]; if (dictionary != nil) …

13
รับรายการคุณสมบัติของวัตถุใน Objective-C
ฉันจะรับรายการ (ในรูปแบบของNSArrayหรือNSDictionary) ของคุณสมบัติวัตถุที่กำหนดใน Objective-C ได้อย่างไร ลองนึกภาพสถานการณ์ต่อไปนี้: ฉันได้กำหนดคลาสพาเรนต์ที่เพิ่งขยายNSObjectซึ่งถือ an NSString, a BOOLและNSDataobject เป็นคุณสมบัติ จากนั้นฉันมีหลายคลาสที่ขยายคลาสพาเรนต์นี้โดยเพิ่มคุณสมบัติที่แตกต่างกันมากมายในแต่ละคลาส มีวิธีใด ๆ ที่ฉันสามารถใช้วิธีการเช่นในผู้ปกครองชั้นเรียนที่จะต้องผ่านวัตถุทั้งหมดและผลตอบแทนการพูดการNSArrayของแต่ละ (เด็ก) คุณสมบัติชั้นเป็นNSStringsที่มีไม่ได้ในระดับผู้ปกครองดังนั้นฉันหลังจากนั้นสามารถใช้เหล่านี้NSStringสำหรับ KVC?

13
ขอการเข้าถึงผู้ติดต่อโดยทางโปรแกรม
ตั้งแต่อัปเดตเป็น iOS 6 ฉันสังเกตเห็นว่ารหัสของฉันเพื่อเพิ่มผู้ติดต่อลงในสมุดที่อยู่ของ iPhone ใช้งานไม่ได้อีกต่อไป ฉันเชื่อว่านี่เป็นปัญหาที่เกี่ยวข้องกับการอนุญาตเนื่องจากตอนนี้ Apple ต้องได้รับอนุญาตจากผู้ใช้ก่อนที่จะเข้าถึงรายชื่อติดต่อ (แก้ไขปัญหานี้ ) ฉันคาดว่าแอปจะขออนุญาตเข้าถึงผู้ติดต่อโดยอัตโนมัติเช่นในภาพหน้าจอด้านล่าง แต่ไม่ได้ ABAddressBookErrorDomain error 1พยายามที่จะเพิ่มรายชื่อเพียงแค่ล้มเหลวด้วย ฉันจำเป็นต้องเปิดช่องโต้ตอบคำขอการเข้าถึงผู้ติดต่อโดยใช้โปรแกรมหรือไม่? เป็นอย่างไรบ้าง?

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