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

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

9
วิธีที่ดีที่สุดในการนำ Enums ไปใช้กับ Core Data
วิธีใดที่ดีที่สุดในการผูกเอนทิตีข้อมูลหลักกับค่า enum เพื่อให้ฉันสามารถกำหนดคุณสมบัติประเภทให้กับเอนทิตีได้ กล่าวอีกนัยหนึ่งฉันมีเอนทิตีที่เรียกItemด้วยitemTypeคุณสมบัติที่ฉันต้องการผูกมัดกับ enum วิธีที่ดีที่สุดในการดำเนินการนี้คืออะไร

10
Apple รู้ได้อย่างไรว่าคุณใช้ API ส่วนตัว
ฉันส่งไฟล์ไบนารีไปยัง Apple โดยไม่มีซอร์สโค้ดใด ๆ นอกเหนือจากการตรวจสอบซอร์สโค้ดด้วยตนเองแล้ว Apple รู้ได้อย่างไรว่าใช้อะไรและเรียกว่า API อะไร

20
UILabel พร้อมข้อความสองสีที่ต่างกัน
ฉันต้องการแสดงสตริงเช่นนี้ในUILabel: มี 5 ผลลัพธ์ โดยที่หมายเลข 5 เป็นสีแดงและส่วนที่เหลือของสตริงเป็นสีดำ ฉันจะทำสิ่งนี้ในรหัสได้อย่างไร?

7
วิธีรับตัวควบคุมมุมมองรูท
ฉันต้องการอินสแตนซ์ของตัวควบคุมมุมมองรูท ฉันลองวิธีการเหล่านั้น: UIViewController *rootViewController = (UIViewController*)[[[UIApplication sharedApplication] keyWindow] rootViewController]; ผลตอบแทน: null : นอกจากนี้เมื่อฉันพยายามรับอาร์เรย์ของคอนโทรลเลอร์: NSArray *viewControllers = self.navigationController.viewControllers; ส่งคืนคอนโทรลเลอร์เพียงตัวเดียว แต่ไม่ใช่ตัวควบคุมมุมมองรูทของฉัน หากฉันพยายามใช้ตัวควบคุมการนำทาง: UIViewController *root = (UIViewController*)[self.navigationController.viewControllers objectAtIndex:0]; ผลตอบแทน: null : ความคิดใด ๆ ทำไม? ฉันจะลองใช้อินสแตนซ์ของตัวควบคุมมุมมองรูทของฉันได้อย่างไร ขอบคุณ.

2
กำหนดไว้ที่ $ {EXECUTABLE_NAME} และ $ {PRODUCT_NAME}
ฉันจะหาข้อมูลเกี่ยวกับวิธีแก้ไขสิ่งเหล่านี้ได้ที่ไหน ${EXECUTABLE_NAME} ${PRODUCT_NAME} สิ่งเหล่านี้จะแสดงในไฟล์. plist เท่านั้น แต่ค่าจริงอยู่ที่ไหน หากเราสามารถปรับเปลี่ยนสิ่งที่เราต้องการได้โดยตรงใน. plist ว่าทำไมเราถึงต้องการสิ่งเหล่านี้ ฉันใหม่นั่นเป็นสาเหตุที่ฉันมีปัญหาในการทำความเข้าใจสิ่งเหล่านี้ฉันยังตรวจสอบข้อมูลอ้างอิงคีย์รายการคุณสมบัติของข้อมูลแอปเปิล แต่ไม่พบค่า $ {} เหล่านี้
109 iphone  objective-c  ios  xcode  plist 

8
Swift - ประเภทใดที่จะใช้? NSString หรือ String
ด้วยการแนะนำ Swift ฉันพยายามที่จะเปลี่ยนภาษาใหม่ ฉันเป็นนักพัฒนา iOS และจะใช้ประเภทต่างๆเช่นNSString, NSInteger, NSDictionaryในแอปพลิเคชัน ฉันสังเกตเห็นว่าใน ebook "The Swift Programming Language" ของ Apple พวกเขาใช้ประเภท SwiftString, Int, Dictionary ฉันสังเกตเห็นว่าประเภท Swift ไม่มี (หรือมีชื่อต่างกัน) ฟังก์ชันบางอย่างที่ประเภท Foundation ทำ ตัวอย่างเช่นNSStringมีlengthคุณสมบัติ แต่ฉันไม่สามารถหา Swift ที่คล้ายกันStringได้ ฉันสงสัยว่าสำหรับแอปพลิเคชัน iOS ฉันควรใช้ประเภท Foundation หรือไม่?
109 ios  objective-c  string  macos  swift 

4
ทำความเข้าใจกับ NSRunLoop
ใครสามารถอธิบายได้ว่าคือNSRunLoopอะไร? อย่างที่ฉันรู้NSRunLoopคือสิ่งที่เกี่ยวโยงกันNSThreadใช่ไหม สมมติว่าฉันสร้างเธรดเช่น NSThread* th=[[NSThread alloc] initWithTarget:self selector:@selector(someMethod) object:nil]; [th start]; -(void) someMethod { NSLog(@"operation"); } หลังจากเธรดนี้เสร็จสิ้นการทำงานของเขาใช่ไหม ทำไมต้องใช้RunLoopsหรือใช้ที่ไหน? จากเอกสารของ Apple ฉันได้อ่านบางสิ่ง แต่ยังไม่ชัดเจนสำหรับฉันดังนั้นโปรดอธิบายให้ง่ายที่สุด

4
MinimumScaleFactor ของ UILabel ทำงานอย่างไร
ฉันเคยใช้มาminimumFontSizeก่อน แต่ตอนนี้เลิกใช้งานฟังก์ชันนั้นแล้วและฉันไม่ค่อยเข้าใจวิธีการminimumScaleFactorทำงาน ฉันต้องการให้ขนาดตัวอักษรสูงสุดเป็น 10 และต่ำสุดคือ 7 ฉันจะปรับขนาดให้เล็กลงเป็นขนาดฟอนต์ 7 ด้วยสเกลแฟคเตอร์ได้อย่างไร UILabel การสร้าง: UILabel *label = [[UILabel alloc] init]; [label setTranslatesAutoresizingMaskIntoConstraints:NO]; label.text = [labelName uppercaseString]; label.textAlignment = NSTextAlignmentCenter; label.textColor = [UIColor whiteColor]; label.font = [UIFont fontWithName:HELVETICA_FONT_STYLE_BOLD size:9.5]; label.backgroundColor = [UIColor clearColor]; label.minimumScaleFactor = .1f; [label addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[label(WIDTH)]" options:0 metrics:@{@"WIDTH" : [NSNumber numberWithFloat:buttonSize.width]} …
109 ios  objective-c  uilabel 

30
ลิงก์สากลของ iOS ไม่ได้เปิดในแอป
ดังนั้นฉันจึงทำตามบทช่วยสอนนี้และใช้ค่าเดียวกันกับที่ให้ไว้: https://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9 ไฟล์ Apple Association ก็พร้อมใช้งานในลิงค์ไดเร็กทอรี: WEB_PAGE:PORT_NUMBER/apple-app-site-association ทุกอย่างดูเหมือนจะถูกตั้งค่าไว้ที่ด้านนี้ ฉันได้เพิ่มสิทธิ์อัปเดตโปรไฟล์การจัดสรรและตั้งค่าทุกอย่างแล้ว เมื่อฉันเรียกใช้แอปบนอุปกรณ์ของฉันและเปิดลิงก์http://WEB_PAGE:PORT_NUMBERสิ่งนี้จะเปิด Safari เสมอ ฉันยังมีจุดพักด้วยวิธีการต่อไปนี้: - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler แต่ zilch. มีใครสมบูรณ์แบบนี้บ้าง? มีบางอย่างที่ฉันขาดหายไป?



30
CFBundleVersion ในข้อผิดพลาดการอัปโหลด Info.plist
"ไบนารีที่คุณอัปโหลดไม่ถูกต้อง CFBundleVersion ที่สำคัญในไฟล์ Info.plist ต้องมีเวอร์ชันที่สูงกว่าเวอร์ชันที่อัปโหลดก่อนหน้านี้" ฉันได้รับข้อผิดพลาดนี้เมื่อฉันอัปโหลดแอปพลิเคชันของฉัน ฉันตั้งค่าเวอร์ชันที่อัปเดตเป็น 1.2 บน iTunes Connect และได้อัปเดต.plistไฟล์เป็น 1.2 ฉันไม่เข้าใจว่าทำไมฉันจึงได้รับข้อผิดพลาดนี้ ความช่วยเหลือใด ๆ จะได้รับการชื่นชม ขอบคุณ.

6
AVAudioPlayer พ่นเบรกพอยต์ในโหมดดีบัก
ทุกครั้งที่ฉันโหลดแอพมันจะหยุดราวกับว่าฉันตั้งเบรกพอยต์ไว้ในบรรทัดนี้: self.audioPlayer = [[[AVAudioPlayer alloc] initWithData:[dataPersister loadData:self.fileName] error:&outError] autorelease]; ไม่มีจุดพักด้านบนหรือที่ใด ๆ ใกล้กับเส้นนี้ จะเกิดขึ้นเฉพาะเมื่อฉันเรียกใช้แอปในโหมดดีบักและไม่มีอะไรขัดข้องหลังจากเบรกพอยต์ แอปทำงานเหมือนไม่มีอะไรเกิดขึ้นเมื่อฉันคลิก "ดำเนินการโปรแกรมต่อ" นี่คือเมธอด loadData ซึ่งเรียกด้วยinitWithData: -(NSData*)loadData:(NSString*)fileName { NSString *dataPath = [self.path stringByAppendingPathComponent:fileName]; dataPath = [dataPath stringByStandardizingPath]; NSData *data = [[[NSData alloc] initWithContentsOfFile:dataPath]autorelease ]; return data; } ดูเหมือนว่าฟังก์ชัน loadData จะทำงานได้ดี ไฟล์ mp3 ที่ร้องขอจะถูกโหลดและเล่นโดยไม่มีปัญหาใด ๆ หลังจากเบรกพอยต์ คุณรู้ไหมว่าฉันทำอะไรผิด? แก้ไข: ฉันวิ่งถอยหลังเมื่อหยุดที่จุดพัก …

10
UIAlertView เลิกใช้งาน IOS 9 เป็นครั้งแรก
ฉันลองใช้ UIAlertController หลายวิธีแทน UIAlertView ฉันลองหลายวิธีแล้ว แต่ไม่สามารถทำให้การแจ้งเตือนทำงานได้ นี่คือรหัสของฉันที่ใช้งานได้ดีใน IOS 8 และ IOS 9 แต่แสดงขึ้นพร้อมกับแฟล็กที่เลิกใช้แล้ว ฉันลองทำตามคำแนะนำที่สวยงามด้านล่าง แต่ไม่สามารถใช้งานได้ในบริบทนี้ ฉันต้องการส่งแอปของฉันและนี่คือสิ่งสุดท้ายที่จะกล่าวถึง ขอบคุณสำหรับคำแนะนำเพิ่มเติม ฉันเป็นมือใหม่ #pragma mark - BUTTONS ================================ - (IBAction)showModesAction:(id)sender { NSLog(@"iapMade: %d", iapMade3); // IAP MADE ! =========================================== if (!iapMade3) { //start game here gamePlaysCount++; [[NSUserDefaults standardUserDefaults]setInteger:gamePlaysCount forKey:@"gamePlaysCount"]; NSLog(@"playsCount: %ld", (long)gamePlaysCount); if (gamePlaysCount >= …

8
ท่าทางกดแบบยาวบน UICollectionViewCell
ฉันสงสัยว่าจะเพิ่มเครื่องมือจดจำท่าทางการกดแบบยาวให้กับ UICollectionView (คลาสย่อยของ) ได้อย่างไร ฉันอ่านในเอกสารว่ามีการเพิ่มโดยค่าเริ่มต้น แต่ฉันคิดไม่ออกว่าจะทำอย่างไร สิ่งที่ฉันต้องการทำคือ: กดที่เซลล์ค้างไว้ ( ฉันมีปฏิทินจาก github ) รับเซลล์ที่แตะแล้วทำสิ่งต่างๆกับมัน ฉันต้องการทราบว่าเซลล์ใดถูกบีบอัดมานาน ขออภัยสำหรับคำถามกว้าง ๆ นี้ แต่ฉันไม่พบสิ่งที่ดีกว่าทั้งใน Google หรือ SO

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