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

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

10
วิธีตรวจสอบว่า NSDate เกิดขึ้นระหว่าง NSDates อื่นสองตัวหรือไม่
ฉันกำลังพยายามหาว่าวันที่ปัจจุบันอยู่ในช่วงวันที่โดยใช้ NSDate หรือไม่ ตัวอย่างเช่นคุณสามารถรับวันที่ / เวลาปัจจุบันโดยใช้ NSDate: NSDate rightNow = [NSDate date]; จากนั้นฉันต้องการใช้วันที่ดังกล่าวเพื่อตรวจสอบว่าอยู่ในช่วง9.00-17.00 น . หรือไม่

22
วิธีตรวจสอบ url บน iPhone
ในแอพ iPhone ที่ฉันกำลังพัฒนามีการตั้งค่าที่คุณสามารถป้อน URL ได้เนื่องจากรูปแบบและฟังก์ชัน URL นี้ต้องได้รับการตรวจสอบความถูกต้องทางออนไลน์และออฟไลน์ จนถึงตอนนี้ฉันยังไม่พบวิธีการใด ๆ ในการตรวจสอบ url ดังนั้นคำถามคือ; ฉันจะตรวจสอบการป้อน URL บน iPhone (Objective-C) แบบออนไลน์และออฟไลน์ได้อย่างไร
90 ios  objective-c  iphone  xcode  url 

5
คุณปิดบังข้อความในช่องรหัสผ่านในแอปพลิเคชัน iPhone ได้อย่างไร
ฉันมีฟิลด์รหัสผ่านในแอปพลิเคชันของฉัน (UITextField) เมื่อผู้ใช้ป้อนข้อความในช่องฉันต้องการให้แสดง*แทนข้อความที่ป้อน ฉันได้พยายามใช้UIControlEventEditingDidEndของUITextFieldแต่มันแสดงให้เห็นว่าหนึ่ง*ในตอนท้ายเมื่อมีการแก้ไข แต่ฉันต้องการให้แสดง*s เร็วที่สุดเท่าที่ข้อความใด ๆ ที่จะเข้ามาเหมือนในฟิลด์รหัสผ่านอีเมลออนไลน์ใด ๆ ฉันจะได้รับพฤติกรรมที่ต้องการได้อย่างไร?

2
NSArray พร้อม NSPredicate โดยใช้ NOT IN
ฉันมี NSArray ที่ฉันต้องการกรองวัตถุบางอย่างโดยใช้ NSPredicate ฉันหวังว่าฉันจะใช้ NOT IN ได้เนื่องจากฉันเห็นว่าฉันสามารถทำ IN ได้อย่างง่ายดาย ดังนั้นฉันจึงมีอาร์เรย์ของฉัน: self.categoriesList จากนั้นฉันจะได้รับค่าที่ต้องการลบ: NSArray *parentIDs = [self.cateoriesList valueForKeyPath:@"@distinctUnionOfObjects.ParentCategoryID"]; นี่ทำให้ฉันมีรายการ ParentCategoryID สำหรับหมวดหมู่ที่ฉันไม่ต้องการแสดงดังนั้นฉันคิดว่าฉันสามารถใช้ NSPredicate เพื่อลบออกได้: self.cateoriesList = [self.cateoriesList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"CategoryID NOT IN %@",parentIDs]]; สิ่งนี้ล้มเหลว: reason: 'Unable to parse the format string "CategoryID NOT IN %@"' ถ้าอยากจะใช้แค่ IN ที่ใช้งานได้ดีแน่นอน

4
เหตุใดส่วนสุดท้ายของชื่อเมธอด Objective-C จึงต้องใช้อาร์กิวเมนต์ (เมื่อมีมากกว่าหนึ่งส่วน)
ใน Objective-C คุณไม่สามารถประกาศชื่อเมธอดโดยที่ส่วนประกอบสุดท้ายไม่รับอาร์กิวเมนต์ ตัวอย่างเช่นต่อไปนี้ผิดกฎหมาย -(void)take:(id)theMoney andRun; -(void)take:(id)yourMedicine andDontComplain; เหตุใด Objective-C จึงออกแบบมาในลักษณะนี้ มันเป็นเพียงสิ่งประดิษฐ์ของ Smalltalk ที่ไม่มีใครเห็นว่าจำเป็นต้องกำจัด? ข้อ จำกัด นี้มีความหมายใน Smalltalk เนื่องจาก Smalltalk ไม่มีตัวคั่นรอบการเรียกใช้ข้อความดังนั้นองค์ประกอบสุดท้ายจะถูกตีความว่าเป็นข้อความที่เป็นเอกภาพของอาร์กิวเมนต์สุดท้าย ยกตัวอย่างเช่นจะแยกวิเคราะห์เป็นBillyAndBobby take:'$100' andRun BillyAndBobby take:('$100' andRun)สิ่งนี้ไม่สำคัญใน Objective-C ที่ต้องใช้วงเล็บเหลี่ยม การสนับสนุนส่วนประกอบตัวเลือกที่ไม่มีพารามิเตอร์จะไม่ช่วยให้เราได้รับประโยชน์มากนักในทุกวิธีการวัดภาษาตามปกติเนื่องจากชื่อวิธีการที่โปรแกรมเมอร์เลือก (เช่นrunWith:แทนที่จะเป็นtake:andRun) ไม่มีผลต่อความหมายเชิงฟังก์ชันของโปรแกรมหรือการแสดงออกของภาษา อันที่จริงโปรแกรมที่มีส่วนประกอบที่ไม่มีพารามิเตอร์นั้นเทียบเท่ากับอัลฟา ดังนั้นฉันจึงไม่สนใจคำตอบที่ระบุว่าคุณลักษณะดังกล่าวไม่จำเป็น (เว้นแต่เป็นเหตุผลที่ระบุไว้ของนักออกแบบ Objective-C ไม่มีใครรู้จัก Brad Cox หรือ Tom Love พวกเขามาที่นี่หรือไม่) หรือที่พูดว่า วิธีการเขียนชื่อเมธอดเพื่อไม่ให้คุณลักษณะนี้จำเป็น ประโยชน์หลักคือความสามารถในการอ่านและความสามารถในการเขียน (ซึ่งก็เหมือนกับความสามารถในการอ่านเพียง ... คุณรู้) เนื่องจากจะหมายความว่าคุณสามารถเขียนชื่อวิธีการที่คล้ายกับประโยคภาษาธรรมชาติได้ …

9
ฉันสามารถส่งบล็อกเป็น @selector ด้วย Objective-C ได้หรือไม่
เป็นไปได้ไหมที่จะส่งผ่าน Objective-C block สำหรับ@selectorอาร์กิวเมนต์ใน a UIButton? กล่าวคือมีวิธีใดบ้างที่จะทำให้สิ่งต่อไปนี้ทำงานได้? [closeOverlayButton addTarget:self action:^ {[anotherIvarLocalToThisMethod removeFromSuperview];} forControlEvents:UIControlEventTouchUpInside]; ขอบคุณ




12
การสร้างพารามิเตอร์การสืบค้น URL จากวัตถุ NSDictionary ใน ObjectiveC
ด้วยอ็อบเจ็กต์การจัดการ URL ทั้งหมดที่อยู่รอบ ๆ ไลบรารี Cocoa มาตรฐาน (NSURL, NSMutableURL, NSMutableURLRequest ฯลฯ ) ฉันรู้ว่าฉันต้องมองข้ามวิธีง่ายๆในการเขียนคำขอ GET โดยใช้โปรแกรม ขณะนี้ฉันกำลังต่อท้าย "?" ด้วยตนเอง ตามด้วยคู่ค่าชื่อที่เข้าร่วมด้วย "&" แต่คู่ชื่อและค่าทั้งหมดของฉันต้องเข้ารหัสด้วยตนเองดังนั้น NSMutableURLRequest จะไม่ล้มเหลวทั้งหมดเมื่อพยายามเชื่อมต่อกับ URL รู้สึกเหมือนมีบางอย่างที่ฉันควรจะสามารถใช้ API ที่อบไว้ล่วงหน้าสำหรับ .... มีอะไรนอกกรอบที่จะผนวก NSDictionary ของพารามิเตอร์การสืบค้นเข้ากับ NSURL หรือไม่? มีวิธีอื่นอีกไหมที่ฉันควรเข้าใกล้สิ่งนี้

4
แนวทางปฏิบัติที่ดีที่สุดของ iOS Prefix.pch
ฉันเคยเห็นนักพัฒนาหลายคนที่เพิ่มมาโครอำนวยความสะดวกต่างๆให้กับ Prefix.pch ของโปรเจ็กต์ iOS ของพวกเขา คุณแนะนำให้เพิ่มอะไร (หรือไม่) ในไฟล์ iOS Prefix.pch Prefix.pch ของคุณมีลักษณะอย่างไร
90 ios  objective-c  xcode  pch 

16
ลบข้อ จำกัด ทั้งหมดที่มีผลต่อ UIView
ฉันมี UIView ซึ่งวางอยู่บนหน้าจอผ่านข้อ จำกัด หลายประการ ข้อ จำกัด บางอย่างเป็นของ Superview ส่วนข้อ จำกัด อื่น ๆ เป็นของบรรพบุรุษคนอื่น ๆ (เช่นอาจเป็นคุณสมบัติการดูของ UIViewController) ฉันต้องการลบข้อ จำกัด เก่า ๆ เหล่านี้ทั้งหมดและวางไว้ที่ใหม่โดยใช้ข้อ จำกัด ใหม่ ฉันจะทำสิ่งนี้ได้อย่างไรโดยไม่ต้องสร้าง IBOutlet สำหรับทุกข้อ จำกัด และต้องจำว่ามุมมองใดเป็นเจ้าของข้อ จำกัด ดังกล่าว ในการอธิบายอย่างละเอียดวิธีการที่ไร้เดียงสาคือการสร้าง IBOutlets จำนวนมากสำหรับข้อ จำกัด แต่ละข้อจากนั้นจะเกี่ยวข้องกับการเรียกรหัสเช่น: [viewA removeConstraint:self.myViewsLeftConstraint]; [viewB removeConstraint:self.myViewsTopConstraint]; [viewB removeConstraint:self.myViewsBottomConstraint]; [self.view removeConstraint:self.myViewsRightConstraint]; ปัญหาเกี่ยวกับรหัสนี้คือแม้ในกรณีที่ง่ายที่สุดฉันจะต้องสร้าง IBOutlets 2 รายการ สำหรับเลย์เอาต์ที่ซับซ้อนสิ่งนี้สามารถเข้าถึง IBOutlets …

6
เมื่อใดควรใช้ @objc ใน Swift
ใน Swift ฉันเห็นวิธีการบางอย่างเช่น: @objc private func doubleTapGestureRecognized(recognizer: UITapGestureRecognizer) ฉันสงสัยว่าเมื่อใดควรใช้ @objc? ฉันอ่านเอกสารบางฉบับ แต่พวกเขากำลังบอกว่าเมื่อคุณต้องการให้เรียกได้ใน Objective-C คุณควรเพิ่มแฟล็ก @objc อย่างไรก็ตามนี่เป็นฟังก์ชั่นส่วนตัวใน Swift @obj ทำอะไร?



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