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

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

5
จะสร้างโปรโตคอลด้วยวิธีการที่เป็นทางเลือกได้อย่างไร?
ฉันสังเกตเห็นวิธีการทำเครื่องหมายว่าเป็นทางเลือกในหลายโปรโตคอลที่กำหนดไว้ใน iPhone SDK เช่นUIActionSheetDelegateโปรโตคอลเป็นต้น ฉันจะกำหนดโปรโตคอลของตัวเองและตั้งค่าวิธีการบางอย่างเป็นทางเลือกได้อย่างไร

11
ลบช่องว่างทั้งหมดออกจาก NSString
ฉันพยายามกำจัดช่องว่างสีขาวในช่องหนึ่งNSStringแต่ไม่มีวิธีใดที่ฉันได้ลองใช้ ฉันมีและฉันต้องการที่จะได้รับ"this is a test""thisisatest" ฉันเคยใช้whitespaceCharacterSetซึ่งควรจะกำจัดช่องว่างสีขาว NSString *search = [searchbar.text stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]]; แต่ฉันยังคงได้รับสตริงเดิมที่มีช่องว่าง ความคิดใด ๆ ?


5
คำถามบางประการเกี่ยวกับการนับอ้างอิงอัตโนมัติใน iOS5 SDK
ฉันกำลังพัฒนาแอพสำหรับ iPad การพัฒนาเริ่มต้นสำหรับ iOS 4.2 และกำลังดำเนินการต่อไป (และฉันคิดว่าจะเสร็จสมบูรณ์) สำหรับ iOS 4.3 ฉันเพิ่งอ่านเกี่ยวกับ ARC ใน iOS 5 และโดยพื้นฐานแล้วฉันเข้าใจว่าเราไม่จำเป็นต้องปล่อยและเก็บรักษาวัตถุอีกต่อไป คำถามของฉันคือ: หากฉันตัดสินใจที่จะอัปเกรดเป็น iOS 5 ฉันจำเป็นต้องลบข้อความ[myObject retain]และ[myObject release]ข้อความทั้งหมดออกจากรหัสของฉันหรือไม่ หากฉันพัฒนาแอปใหม่สำหรับ iOS 5 โดยใช้ ARC ฉันจะต้องใช้การตรวจสอบ "ความเข้ากันได้ย้อนยุค" บางประเภทหรือไม่ กล่าวคือฉันจะต้องตรวจสอบเวอร์ชันของ iOS และรักษาการโทรและปล่อยตามนั้นหรือไม่ โดยพื้นฐานแล้ว ARC สามารถใช้ได้กับ iOS ทุกเวอร์ชันหรือเฉพาะสำหรับ iOS 5?

15
ฉันจะถ่ายภาพหน้าจอของ UIView ได้อย่างไร
ฉันสงสัยว่าแอพ iPhone ของฉันสามารถถ่ายภาพหน้าจอเฉพาะUIViewเป็นไฟล์UIImage. ฉันลองใช้รหัสนี้ แต่สิ่งที่ฉันได้รับคือภาพเปล่า UIGraphicsBeginImageContext(CGSizeMake(320,480)); CGContextRef context = UIGraphicsGetCurrentContext(); [myUIView.layer drawInContext:context]; UIImage *screenShot = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); myUIViewมีขนาด 320x480 และมีมุมมองย่อยบางส่วน วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร?

2
ความแตกต่างระหว่าง Framework และไลบรารีแบบคงที่ใน xcode4 และวิธีการเรียกใช้
ฉันค่อนข้างใหม่กับ xcode และ objective-c ฉันต้องการถามคำถามพื้นฐาน ฉันเห็นว่าเมื่อ "เชื่อมโยงไบนารีกับไลบรารี" ในการตั้งค่าโครงการมีความแตกต่างเกี่ยวกับกรอบงานและไลบรารีซึ่งนำเข้าจากโครงการอื่นในพื้นที่ทำงาน คำถามแรกทำไมต้องมีกรอบ? แล้วทำไมต้องมีห้องสมุด? ห้องสมุดของฉันไม่สามารถเป็นกรอบงานได้หรือไม่? แล้วจากไฟล์. hฉันจะเรียกคลาสจากไลบรารีสแตติกที่นำเข้าได้อย่างไร ฉันคิดว่าต้องมีคำนำหน้า แต่ฉันหาไม่เจอ "ProjName / Myclass.h" ไม่ทำงาน โปรดระบุให้ชัดเจนที่สุดเท่าที่จะทำได้ ขอบคุณ

9
iOS 7 sizeWithAttributes: การแทนที่ sizeWithFont: constrainedToSize
คุณส่งคืน CGSize ข้อความหลายบรรทัดจากเมธอด sizeWithAttributes ของ iOS 7 ใหม่ได้อย่างไร ฉันต้องการให้ผลลัพธ์เช่นเดียวกับ sizeWithFont: constrainedToSize NSString *text = @"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus eu urna quis lacus imperdiet scelerisque a nec neque. Mauris eget feugiat augue, vitae porttitor mi. Curabitur vitae sollicitudin augue. Donec id sapien eros. Proin consequat tellus …
133 objective-c  ios7 

14
การเปลี่ยนแปลงข้อความเคลื่อนไหวใน UILabel
ฉันกำลังตั้งค่าข้อความใหม่เป็นUILabelไฟล์. ขณะนี้ข้อความใหม่ปรากฏขึ้นตามปกติ อย่างไรก็ตามฉันต้องการเพิ่มภาพเคลื่อนไหวเมื่อข้อความใหม่ปรากฏขึ้น ฉันสงสัยว่าฉันจะทำอะไรได้บ้างเพื่อให้ข้อความใหม่เคลื่อนไหว

7
วิธีแปลง NSNumber เป็น NSString
ผมจึงมีNSArray"myArray" พร้อมNSNumbers และNSStrings ฉันต้องการพวกเขาในอีกUIViewดังนั้นฉันจึงไปแบบนี้: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { DetailViewController *details = [[DetailViewController alloc] initWithNibName:@"DetailView" bundle:nil]; details.subjectText = [[myArray objectAtIndex:indexPath.row] objectForKey:@"subject"]; SubjectText ใช้งานได้ แต่ฉันจะNSNumberเอามันออกไปได้อย่างไร? (อันที่จริงฉันต้องการเป็นสตริง ... ) ฉันจะแปลงNSStringออกมาจากเช่นนี้NSNumber NSString *blah = [NSNumber intValue]แต่ไม่รู้จะตั้งค่ายังไงในโค้ดด้านบน ...

4
ฉันจะเปิดใช้งานการซูมเข้าบน UIWebView ซึ่งอยู่ใน UIScrollView ได้อย่างไร
ฉันมีสิ่งUIWebViewที่อยู่ภายในUIScrollView(scrollview มีส่วนประกอบอื่น) ฉันพยายามที่จะเปิดใช้งานมัลติทัชทั้งในInterface BuilderหรือโปรแกรมบนUIWebViewแต่ก็ยังไม่สามารถซูมสำหรับ HTML, ฉันจะต้องจัดการทั้งซูมเข้าที่UIScrollViewและUIWebView? หรืออะไรที่ฉันไม่ได้ตั้งค่า?


9
วิธีเล่นวิดีโอท้องถิ่นด้วย Swift
ฉันมีmp4ไฟล์วิดีโอสั้น ๆที่ฉันได้เพิ่มลงในโปรเจ็กต์ Xcode6 Beta ปัจจุบันของฉัน ฉันต้องการเล่นวิดีโอในแอปของฉัน หลังจากค้นหาไปหลายชั่วโมงฉันไม่พบสิ่งที่เป็นประโยชน์จากระยะไกล มีวิธีที่จะทำให้มันสำเร็จด้วย Swift หรือคุณต้องใช้ Objective-C? ฉันจะชี้ไปในทิศทางที่ถูกต้องได้หรือไม่? ฉันไม่สามารถเป็นคนเดียวที่สงสัยเรื่องนี้

13
รับความสูงของแถบนำทางโดยทางโปรแกรม
ฉันรู้ว่าการมีอยู่ของตัวควบคุมมุมมองเพิ่มเติม (แถบการนำทาง) ผลัก UIView ลงตามความสูง ฉันก็รู้ว่าความสูงนี้ = 44px [self.view].frame.origin.y = 0ฉันได้ค้นพบว่าการผลักดันลงนี้รักษา ดังนั้นฉันจะกำหนดความสูงของแถบนำทางได้อย่างไรนอกเหนือจากการตั้งค่าเป็นค่าคงที่ได้อย่างไร หรือรุ่นที่สั้นกว่าฉันจะทราบได้อย่างไรว่า UIView ของฉันแสดงพร้อมแถบนำทางด้านบน หลอดไฟเริ่มเข้ามา น่าเสียดายที่ฉันไม่ได้ค้นพบวิธีที่เหมือนกันในการแก้ไขปัญหาดังที่อธิบายไว้ด้านล่าง ฉันเชื่อว่าปัญหาทั้งหมดของฉันมุ่งเน้นไปที่งานรับอัตโนมัติของฉัน และเหตุผลที่ฉันได้ข้อสรุปว่ามีอาการเดียวกันอยู่โดยมีหรือไม่มี UIWebView และอาการนั้นก็คือทุกอย่างนั้นมีสีพีชสำหรับรูปคน สำหรับแนวนอน UIButton ส่วนใหญ่ที่อยู่ด้านล่างจะปรากฏขึ้นด้านหลัง TabBar ตัวอย่างเช่นฉันมี UIView หนึ่งรายการจากบนลงล่าง: UIView - ทั้งชุดสปริง (ตัวพิมพ์ดีฟอลต์) และไม่มี struts UIScrollView - ถ้าฉันตั้งค่าสปริงทั้งสองและล้างทุกอย่างอื่น (เช่น UIView) UIButton จะบุกรุกวัตถุบนเหนือมันทันที หากฉันล้างทุกอย่าง UIButton จะใช้ได้ แต่สิ่งที่ซ่อนอยู่ด้านบนสุดด้านหลัง StatusBar การตั้งค่าเฉพาะ strut ด้านบน UIButton …


6
วิธีจัดการโปรโตคอล Objective-C ที่มีคุณสมบัติ?
ฉันเคยเห็นการใช้โปรโตคอล Objective-C ในรูปแบบดังต่อไปนี้: @protocol MyProtocol <NSObject> @required @property (readonly) NSString *title; @optional - (void) someMethod; @end ฉันเคยเห็นรูปแบบนี้ใช้แทนการเขียนซูเปอร์คลาสที่เป็นรูปธรรมที่คลาสย่อยขยายออกไป คำถามคือถ้าคุณปฏิบัติตามโปรโตคอลนี้คุณจำเป็นต้องสังเคราะห์คุณสมบัติด้วยตัวเองหรือไม่? หากคุณกำลังขยายซูเปอร์คลาสคำตอบคือไม่คุณไม่จำเป็นต้องทำ แต่จะจัดการกับคุณสมบัติที่โปรโตคอลต้องการให้สอดคล้องได้อย่างไร? ตามความเข้าใจของฉันคุณยังคงต้องประกาศตัวแปรอินสแตนซ์ในไฟล์ส่วนหัวของอ็อบเจ็กต์ที่สอดคล้องกับโปรโตคอลที่ต้องการคุณสมบัติเหล่านี้ ในกรณีนี้เราสามารถสันนิษฐานได้ว่านั่นเป็นเพียงหลักการชี้นำ? เหมือนกันไม่ใช่กรณีของวิธีการที่จำเป็น คอมไพเลอร์จะตบข้อมือของคุณเพื่อยกเว้นวิธีการที่จำเป็นซึ่งโปรโตคอลแสดงรายการ เรื่องราวเบื้องหลังคุณสมบัติคืออะไร? นี่คือตัวอย่างที่สร้างข้อผิดพลาดในการคอมไพล์ (หมายเหตุ: ฉันได้ตัดโค้ดซึ่งไม่ได้สะท้อนถึงปัญหาในมือ): MyProtocol.h @protocol MyProtocol <NSObject> @required @property (nonatomic, retain) id anObject; @optional TestProtocolsViewController.h - (void)iDoCoolStuff; @end #import <MyProtocol.h> @interface TestProtocolsViewController : UIViewController <MyProtocol> …

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