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

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

30
วิธีเพิ่มเส้นขอบที่ด้านบนของ UIView
คำถามของฉันอยู่ที่ชื่อ ฉันไม่ทราบวิธีเพิ่มเส้นขอบในด้านเฉพาะด้านบนหรือด้านล่างด้านใดด้านหนึ่ง ... layer.borderดึงเส้นขอบสำหรับมุมมองทั้งหมด ...

5
เหตุใดตัวแปร NSInteger จึงต้องถูกแปลงเป็นแบบยาวเมื่อใช้เป็นอาร์กิวเมนต์รูปแบบ
NSInteger myInt = 1804809223; NSLog(@"%i", myInt); <==== รหัสด้านบนสร้างข้อผิดพลาด: ไม่ควรใช้ค่าประเภท 'NSInteger' เป็นอาร์กิวเมนต์รูปแบบ เพิ่มเพี้ยนชัดใสเป็น 'ยาว' แทน แก้ไขข้อความที่เป็นจริงNSLog NSLog(@"%lg", (long) myInt);ทำไมฉันต้องแปลงค่าจำนวนเต็มmyIntเป็นlongถ้าฉันต้องการให้ค่าแสดง?

9
วัตถุประสงค์ระดับ C ตัวแปรระดับคงที่
ฉันมีคลาสฟิล์มซึ่งแต่ละอันเก็บ ID ที่ไม่ซ้ำกัน ใน C #, Java เป็นต้นฉันสามารถกำหนด static int currentID และทุกครั้งที่ฉันตั้ง ID ฉันสามารถเพิ่ม currentID และการเปลี่ยนแปลงที่เกิดขึ้นในระดับชั้นไม่ใช่ระดับวัตถุ สามารถทำได้ใน Objective-C หรือไม่ ฉันพบว่ามันยากมากที่จะหาคำตอบสำหรับสิ่งนี้

19
รวมส่วนหัวที่ไม่ใช่โมดูลาร์ภายในโมดูลเฟรมเวิร์ก
ฉันใช้ Xcode 6 1) ประการแรกฉันสร้างไลบรารีแบบไดนามิก (CoreLibrary) ไลบรารีนี้มีไฟล์ RequestPoster.h 2) จากนั้นฉันจะสร้าง Cocoa Touch Framework และเพิ่มไลบรารีแบบไดนามิกนี้ (CoreLibrary) 3) จากนั้นเฟรมเวิร์กนี้จะถูกเพิ่มในโครงการของฉันและมันให้ข้อผิดพลาดในไฟล์ RequestPoster.h (CoreLibrary) ข้อผิดพลาด: รวมส่วนหัวที่ไม่เป็นโมดูลภายในคลาสโมดูลเฟรมเวิร์ก: ifaddrs.h, arpa / inet.h, sys / types.h> ไม่พบไฟล์เหล่านี้ในโครงการ

8
Xcode / Simulator: วิธีรันเวอร์ชั่น iOS ที่เก่ากว่า?
ฉันกำลังคิดจะอัปเกรดเป็น iOS SDK 4.2 แต่สิ่งที่ฉันสงสัยคือถ้าฉันยังสามารถเรียกใช้ตัวจำลองเป็น iOS 3.2 ได้ นี่เป็นเพราะฉันสร้าง iAds สำหรับ iPad แต่ฉันยังต้องการตรวจสอบว่าโปรแกรมของฉันจะทำงานด้วย iOS 3.2 หรือไม่ หมายเหตุ: ฉันเคยเห็นโพสต์ที่คล้ายกันนี้ในอดีต แต่พวกเขาไม่ได้มีประโยชน์ในการให้ขั้นตอนที่แน่นอนในการทำสิ่งนี้
143 ios  objective-c  iphone  xcode  ipad 

13
ฉันสามารถเปลี่ยนคุณสมบัติตัวคูณสำหรับ NSLayoutConstraint ได้หรือไม่
ฉันสร้างมุมมองสองมุมมองในหนึ่งมุมมองจากนั้นเพิ่มข้อ จำกัด ระหว่างมุมมอง: _indicatorConstrainWidth = [NSLayoutConstraint constraintWithItem:self.view1 attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.view2 attribute:NSLayoutAttributeWidth multiplier:1.0f constant:0.0f]; [_indicatorConstrainWidth setPriority:UILayoutPriorityDefaultLow]; _indicatorConstrainHeight = [NSLayoutConstraint constraintWithItem:self.view1 attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:self.view2 attribute:NSLayoutAttributeHeight multiplier:1.0f constant:0.0f]; [_indicatorConstrainHeight setPriority:UILayoutPriorityDefaultLow]; [self addConstraint:_indicatorConstrainWidth]; [self addConstraint:_indicatorConstrainHeight]; ตอนนี้ฉันต้องการเปลี่ยนคุณสมบัติตัวคูณด้วยภาพเคลื่อนไหว แต่ฉันไม่สามารถหาวิธีเปลี่ยนคุณสมบัติตัวคูณได้ (ฉันพบ _coefficient ในคุณสมบัติส่วนตัวในไฟล์ส่วนหัว NSLayoutConstraint.h แต่เป็นไฟล์ส่วนตัว) ฉันจะเปลี่ยนคุณสมบัติตัวคูณได้อย่างไร วิธีแก้ปัญหาของฉันคือการลบข้อ จำกัด multiplerเก่าและเพิ่มใหม่มีมูลค่าแตกต่างกันสำหรับ


10
ฉันจะบอกได้อย่างไรว่าวัตถุนั้นมีผู้สังเกตการณ์ค่าติดอยู่
ถ้าคุณบอกวัตถุ c วัตถุประสงค์เพื่อ removeObservers: สำหรับเส้นทางที่สำคัญและไม่ได้ลงทะเบียนเส้นทางที่สำคัญนั้นมันแตกร้าว sads ชอบ - 'ไม่สามารถลบผู้สังเกตการณ์สำหรับเส้นทางหลัก "theKeyPath" เนื่องจากไม่ได้ลงทะเบียนเป็นผู้สังเกตการณ์' มีวิธีการตรวจสอบว่าวัตถุมีผู้สังเกตการณ์ที่ลงทะเบียนหรือไม่ดังนั้นฉันสามารถทำได้ if (object has observer){ remove observer } else{ go on my merry way }

7
การเปรียบเทียบ JSON Parser สำหรับ Objective-C (JSON Framework, YAJL, TouchJSON ฯลฯ )
เท่าที่ผมรู้ว่ามีสาม JSON Parsers สำหรับวัตถุประสงค์ C, JSON กรอบ , YAJLและสัมผัส JSON จากนั้นทั้งสามคนจะมีลักษณะของตนเอง ตัวอย่างเช่น: YAJL สามารถใช้เป็นตัวแยกวิเคราะห์สไตล์ SAX JSON Framework มีประวัติค่อนข้างยาวและใช้กันอย่างแพร่หลาย แตะ JSON แยกวิเคราะห์ NSData แทน NSString นอกจากนี้เท่าที่ฉันทดสอบผลลัพธ์ของการเปรียบเทียบประสิทธิภาพมีดังนี้: [รวดเร็ว] YAJL> กรอบ JSON> แตะ JSON [ช้า] หากคุณรู้จักข้อดีและข้อเสียของตัวแยกวิเคราะห์ JSON เหล่านี้คุณบอกฉันได้ไหม สุดท้ายถ้าคุณรู้จัก JSON Parser คนอื่น ๆ โปรดบอกฉัน
142 iphone  objective-c  json 

7
วัตถุประสงค์ -C: การเรียกตัวเลือกที่มีหลายอาร์กิวเมนต์
ใน MyClass.m ฉันได้กำหนดไว้แล้ว - (void) myTest: (NSString *) withAString{ NSLog(@"hi, %@", withAString); } และการประกาศที่เหมาะสมใน MyClass.h หลังจากนั้นฉันต้องการโทร [self performSelector:@selector(mytest:withAString:) withObject: mystring]; ใน MyClass.m แต่ฉันได้รับข้อผิดพลาดคล้ายกับ * แอปสิ้นสุดเนื่องจากข้อยกเว้นที่ไม่ได้ตรวจสอบ 'NSInvalidArgumentException' เหตุผล: '* - [MyClass myTest: withAtring:]: ตัวเลือกที่ไม่รู้จักถูกส่งไปยังอินสแตนซ์ 0xe421f0' ฉันลองกรณีที่ง่ายกว่าด้วยตัวเลือกที่ไม่มีข้อโต้แย้งที่พิมพ์สตริงไปยังคอนโซลและทำงานได้ดี เกิดอะไรขึ้นกับรหัสและฉันจะแก้ไขได้อย่างไร ขอบคุณ


30
โปรไฟล์สิทธิที่ระบุ ... (0xE8008016) ข้อผิดพลาด iOS 4.2
ฉันได้รับข้อผิดพลาด 'หวั่น' The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).เมื่อพยายามปรับใช้แอปแรกของฉันไปยังอุปกรณ์ที่ไม่ต้องเจลเบรคใน iOS 4.2.6 (Verizon) สิ่งคือฉันไม่ได้มีEntitlements fileในโครงการของฉันเพราะฉันไม่ได้กระจายเลยเพียงวางไว้ในอุปกรณ์เดียว ฉันได้ผ่านห่วงและห่วงทั้งหมดที่แอปเปิ้ลทำให้คุณผ่าน (ใบรับรองอุปกรณ์การจัดเตรียม) ลงไปที่จดหมายและฉันไม่สามารถเข้าใจได้ว่าเกิดอะไรขึ้น ใครช่วยได้โปรดช่วยฉันแก้ปัญหานี้ด้วย?

8
วิธีคำนวณความกว้าง UILabel ตามความยาวข้อความ
ฉันต้องการแสดงภาพถัดจาก UILabel อย่างไรก็ตาม UILabel มีความยาวข้อความที่ผันแปรได้ดังนั้นฉันจึงไม่ทราบว่าจะวางรูปภาพไว้ที่ใด ฉันจะทำสิ่งนี้ได้อย่างไร

17
กำลังเล่นวิดีโอด้วย AVFoundation AVPlayer ไหม?
มีวิธีที่ง่ายในการวนลูปวิดีโอใน AVFoundation หรือไม่? ฉันสร้าง AVPlayer และ AVPlayerLayer ของฉันแล้ว: avPlayer = [[AVPlayer playerWithURL:videoUrl] retain]; avPlayerLayer = [[AVPlayerLayer playerLayerWithPlayer:avPlayer] retain]; avPlayerLayer.frame = contentView.layer.bounds; [contentView.layer addSublayer: avPlayerLayer]; จากนั้นฉันเล่นวิดีโอด้วย: [avPlayer play]; วิดีโอเล่นได้ดี แต่หยุดในตอนท้าย ด้วย MPMoviePlayerController สิ่งที่คุณต้องทำคือตั้งค่าrepeatModeคุณสมบัติให้เป็นค่าที่เหมาะสม ดูเหมือนจะไม่มีคุณสมบัติที่คล้ายกันใน AVPlayer ดูเหมือนว่าจะไม่มีการโทรกลับที่จะบอกฉันเมื่อภาพยนตร์เสร็จสิ้นดังนั้นฉันจึงสามารถหาจุดเริ่มต้นและเล่นอีกครั้ง ฉันไม่ได้ใช้ MPMoviePlayerController เพราะมีข้อ จำกัด บางอย่าง ฉันต้องการที่จะเล่นวิดีโอสตรีมหลายรายการพร้อมกัน


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