คำถามติดแท็ก swift

Swift เป็นภาษาการเขียนโปรแกรมสำหรับวัตถุประสงค์ทั่วไปที่ปลอดภัยรวดเร็วและมีการแสดงออกซึ่งพัฒนาโดย Apple Inc. สำหรับแพลตฟอร์มและ Linux Swift เป็นโอเพ่นซอร์ส ใช้แท็กสำหรับคำถามเกี่ยวกับคุณสมบัติภาษาหรือต้องการรหัสใน Swift เท่านั้น ใช้แท็ก [ios], [ipados], [macos], [watch-os], [tvos], [cocoa-touch] และ [cocoa] สำหรับคำถาม (ภาษาที่ไม่เชื่อเรื่องพระเจ้า) เกี่ยวกับแพลตฟอร์มหรือเฟรมเวิร์ก

6
Xcode สามารถ refactor รหัส C และ Objective-C เท่านั้น จะเปลี่ยนชื่อคลาส Swift ใน Xcode 6 ได้อย่างไร?
ฉันได้สร้างโครงการแอปพลิเคชันมุมมองเดียวใหม่ใน Xcode 6 เวอร์ชันเบต้า ฉันต้องการเปลี่ยนชื่อคลาสที่รวดเร็วจากViewController.swiftเป็นชื่ออื่น แต่เมื่อผมเลือก Refactor -> Xcode can only refactor C and Objective-C codeเปลี่ยนชื่อก็ให้ข้อผิดพลาด มีความคิดอย่างไรในการเปลี่ยนชื่อคลาสที่รวดเร็วใน Xcode 6? อัพเดท: ในที่สุด Xcode 9 ก็รองรับการปรับโครงสร้างสำหรับ Swift Apple ใช้เวลา 3 ปีในการเพิ่มคุณสมบัติพื้นฐานนี้ Refactoring
103 ios  swift  xcode  xcode6  xcode9 

2
วิธีตรวจสอบว่า String เริ่มต้นด้วย (คำนำหน้า) หรือลงท้ายด้วย (ต่อท้าย) ใน Swift
ฉันกำลังพยายามทดสอบว่าสตริง Swift เริ่มต้นหรือสิ้นสุดด้วยค่าที่แน่นอน ไม่มีวิธีการเหล่านี้: var str = "Hello, playground" str.startsWith("Hello") // error str.endsWith("ground") // error ฉันยังต้องการรับสตริงคำนำหน้าและคำต่อท้าย ฉันสามารถหาสตริงย่อยได้ตามที่มีคำตอบที่นี่และที่นี่แต่ช่วงนั้นเจ็บปวดใน Swift มีวิธีที่ง่ายกว่านี้ไหม (ฉันสะดุดกับคำตอบเมื่อฉันอ่านเอกสารประกอบและเนื่องจากคำตอบ SO ไม่ปรากฏขึ้นสำหรับข้อความค้นหาของฉันฉันจึงเพิ่มคำถาม & คำตอบที่นี่)
103 ios  string  swift 

24
การเปลี่ยนสีของข้อความโดยใช้ NSMutableAttributedString ใน Swift
ปัญหาที่ฉันพบคือฉันต้องการเปลี่ยน textColor ของข้อความบางข้อความใน TextView ฉันใช้สตริงที่ต่อกันและต้องการเพียงแค่สตริงที่ฉันต่อท้ายข้อความของ TextView ดูเหมือนว่าสิ่งที่ฉันต้องการใช้คือNSMutableAttributedStringแต่ฉันไม่พบแหล่งข้อมูลใด ๆ เกี่ยวกับวิธีใช้สิ่งนี้ใน Swift สิ่งที่ฉันมีจนถึงตอนนี้คือ: let string = "A \(stringOne) with \(stringTwo)" var attributedString = NSMutableAttributedString(string: string) textView.attributedText = attributedString จากที่นี่ฉันรู้ว่าฉันต้องหาช่วงของคำที่ต้องมีการเปลี่ยนแปลง textColor แล้วเพิ่มลงในสตริงที่มาจากแหล่ง สิ่งที่ฉันต้องรู้คือวิธีค้นหาสตริงที่ถูกต้องจาก attributedString แล้วเปลี่ยน textColor เนื่องจากฉันมีคะแนนต่ำเกินไปฉันจึงไม่สามารถตอบคำถามของตัวเองได้ แต่นี่คือคำตอบที่ฉันพบ ฉันพบคำตอบของตัวเองโดยแปลจากการแปลโค้ดบางส่วนจาก เปลี่ยนแอตทริบิวต์ของสตริงย่อยใน NSAttributedString นี่คือตัวอย่างการใช้งานใน Swift: let string = "A \(stringOne) and \(stringTwo)" var attributedString = …


20
ฉันจะระบายสี UIImage ใน Swift ได้อย่างไร
arrowWhiteฉันมีภาพที่เรียกว่า ฉันต้องการปรับสีภาพนี้ให้เป็นสีดำ func attachDropDownArrow() -> NSMutableAttributedString { let image:UIImage = UIImage(named: "arrowWhite.png")! let attachment = NSTextAttachment() attachment.image = image attachment.bounds = CGRectMake(2.25, 2, attachment.image!.size.width - 2.25, attachment.image!.size.height - 2.25) let attachmentString = NSAttributedString(attachment: attachment) let myString = NSMutableAttributedString(string: NSString(format: "%@", self.privacyOptions[selectedPickerRow]) as String) myString.appendAttributedString(attachmentString) return myString } blackColourฉันต้องการที่จะได้รับภาพนี้ใน tintColorไม่ทำงาน...
103 ios  image  swift  colors  uiimage 

5
Swift Programming: getter / setter ในคุณสมบัติที่เก็บไว้
ฉันจะเขียนทับ setter ของคุณสมบัติที่เก็บไว้ใน Swift ได้อย่างไร ใน Obj-C ฉันสามารถเขียนทับ setter ได้ แต่ Swift ดูเหมือนจะไม่ค่อยพอใจกับการใช้ getter / setters สำหรับคุณสมบัติที่เก็บไว้ บอกว่าฉันมีระดับด้วยคุณสมบัติที่เรียกว่าCard rankฉันไม่ต้องการให้ไคลเอ็นต์ระบุค่าที่ไม่ถูกต้องดังนั้นในวัตถุประสงค์ -C ฉันสามารถเขียนทับsetRankเพื่อให้ทำการตรวจสอบเพิ่มเติม แต่willSetใน Swift ดูเหมือนจะไม่ช่วยเพราะnewValueมีค่าคงที่และไม่มีเหตุผลที่จะกำหนดrankเพราะ setter จะถูกเรียกแบบวนซ้ำ
102 ios  swift 

30
IBOutlet เป็นศูนย์ แต่เชื่อมต่อกับสตอรี่บอร์ด Swift
ใช้ Swift 1.1 และ Xcode 6.2 ฉันมี UIStoryboard ที่มีUIViewControllerคลาสย่อยที่เป็นเอกพจน์แบบกำหนดเอง ในนั้นฉันมีการ@IBOutletเชื่อมต่อประเภทUIViewจากคอนโทรลเลอร์นั้นไปยังUIView คลาสย่อยบนกระดานเรื่องราว ฉันยังมีร้านค้าที่คล้ายกันสำหรับมุมมองย่อยของมุมมองนั้น ดูรูปก. แต่ในขณะรันคุณสมบัติเหล่านี้เป็นศูนย์ (รูปที่ B) แม้ว่าฉันจะมั่นใจได้ว่าฉันได้เชื่อมต่อร้านค้าใน Interface Builder แล้ว ความคิด : เป็นไปได้ไหมว่าเนื่องจากฉันใช้คลาสย่อยของคลาสย่อยบางอย่างทำให้การเริ่มต้นทำงานผิดปกติ ฉันไม่ได้ลบล้างตัวเริ่มต้นใด ๆ awakeFromNib: ไม่ได้รับการเรียกด้วยเหตุผลบางประการ บางทีอาจไม่ได้เชื่อมต่อกับมุมมองย่อยในมุมมองย่อย สิ่งที่ฉันได้ลอง: @IBOutletประเภทรายการที่ตรงกันและสตอรี่บอร์ด (แทนที่จะเป็นUIView) การลบคุณสมบัติและเต้ารับและเพิ่มเข้าไปใหม่ รูป A * รูป B * รหัสที่ถูกปิดบังFigure Aคือ: @IBOutlet private var annotationOptionsView: UIView! @IBOutlet private var arrivingLeavingSwitch: UISegmentedControl! …

6
ตัวแปร Swift เป็นอะตอมหรือไม่?
ใน Objective-C คุณมีความแตกต่างระหว่างคุณสมบัติของอะตอมและคุณสมบัติที่ไม่ใช่อะตอม: @property (nonatomic, strong) NSObject *nonatomicObject; @property (atomic, strong) NSObject *atomicObject; จากความเข้าใจของฉันคุณสามารถอ่านและเขียนคุณสมบัติที่กำหนดเป็นอะตอมจากหลายเธรดได้อย่างปลอดภัยในขณะที่การเขียนและการเข้าถึงคุณสมบัติที่ไม่ใช่อะตอมหรือ ivars จากหลายเธรดในเวลาเดียวกันอาจทำให้เกิดพฤติกรรมที่ไม่ได้กำหนดรวมถึงข้อผิดพลาดในการเข้าถึงที่ไม่ดี ดังนั้นหากคุณมีตัวแปรเช่นนี้ใน Swift: var object: NSObject ฉันสามารถอ่านและเขียนถึงตัวแปรนี้แบบขนานอย่างปลอดภัยได้หรือไม่? (โดยไม่ได้คำนึงถึงความหมายที่แท้จริงของการทำเช่นนี้).
102 objective-c  swift 

7
บล็อกบน Swift (animateWithDuration: ภาพเคลื่อนไหว: เสร็จสิ้น :)
ฉันมีปัญหาในการทำให้บล็อกทำงานบน Swift นี่คือตัวอย่างที่ใช้งานได้ (ไม่มีการบล็อกที่สมบูรณ์): UIView.animateWithDuration(0.07) { self.someButton.alpha = 1 } หรืออีกทางเลือกหนึ่งโดยไม่ต้องปิดท้าย: UIView.animateWithDuration(0.2, animations: { self.someButton.alpha = 1 }) แต่เมื่อฉันพยายามเพิ่มบล็อกการทำให้สมบูรณ์มันก็ไม่ได้ผล: UIView.animateWithDuration(0.2, animations: { self.blurBg.alpha = 1 }, completion: { self.blurBg.hidden = true }) การเติมข้อความอัตโนมัติช่วยให้ฉันcompletion: ((Bool) -> Void)?แต่ไม่แน่ใจว่าจะใช้งานได้อย่างไร ลองด้วยการปิดท้ายด้วย แต่มีข้อผิดพลาดเดียวกัน: ! Could not find an overload for 'animateWithDuration that accepts the supplied …
102 ios  swift  closures 

9
จะใช้ประเภทนี้กับอินสแตนซ์ NSFetchRequest ได้อย่างไร
ใน Swift 2 รหัสต่อไปนี้ใช้งานได้: let request = NSFetchRequest(entityName: String) แต่ใน Swift 3 ให้ข้อผิดพลาด: ไม่สามารถอนุมานพารามิเตอร์ทั่วไป "ResultType" ได้ เพราะNSFetchRequestตอนนี้เป็นประเภททั่วไป ในเอกสารของพวกเขาพวกเขาเขียนสิ่งนี้: let request: NSFetchRequest<Animal> = Animal.fetchRequest ดังนั้นหากคลาสผลลัพธ์ของฉันเป็นตัวอย่างLevelฉันจะขออย่างถูกต้องได้อย่างไร เนื่องจากไม่ได้ผล: let request: NSFetchRequest<Level> = Level.fetchRequest
102 swift  core-data  swift3 

20
จะรับพลังของ Integer บางตัวในภาษา Swift ได้อย่างไร
เมื่อเร็ว ๆ นี้ฉันกำลังเรียนรู้อย่างรวดเร็ว แต่ฉันมีปัญหาพื้นฐานที่ไม่สามารถหาคำตอบได้ อยากได้แบบ var a:Int = 3 var b:Int = 3 println( pow(a,b) ) // 27 แต่ฟังก์ชั่น pow สามารถทำงานกับเลขคู่เท่านั้นมันใช้ไม่ได้กับจำนวนเต็มและฉันไม่สามารถแม้แต่จะโยน int ให้เป็นสองเท่าเช่น Double (a) หรือ a.double () ... ทำไมมันไม่จ่ายพลังของจำนวนเต็ม? แน่นอนมันจะคืนค่าจำนวนเต็มโดยไม่มีความคลุมเครือ! และทำไมฉันไม่สามารถโยนจำนวนเต็มให้เป็นสองเท่าได้? เพียงแค่เปลี่ยน 3 เป็น 3.0 (หรือ 3.00000 ... ก็ตาม) ถ้าฉันได้จำนวนเต็มสองจำนวนและต้องการทำการเปิดเครื่องฉันจะทำอย่างไรให้ราบรื่น ขอบคุณ!
102 integer  double  swift  pow 


8
วิธีสร้างอาร์เรย์ของวัตถุขนาดคงที่
ใน Swift ฉันกำลังพยายามสร้างอาร์เรย์ 64 SKSpriteNode ฉันต้องการเริ่มต้นให้ว่างก่อนจากนั้นฉันจะใส่ Sprites ใน 16 เซลล์แรกและ 16 เซลล์สุดท้าย (จำลองเกมหมากรุก) จากสิ่งที่ฉันเข้าใจในเอกสารฉันคาดหวังสิ่งต่างๆเช่น: var sprites = SKSpriteNode()[64]; หรือ var sprites4 : SKSpriteNode[64]; แต่มันไม่ได้ผล ในกรณีที่สองฉันได้รับข้อผิดพลาดว่า: "ยังไม่รองรับอาร์เรย์ที่มีความยาวคงที่" ที่สามารถเป็นจริง? สำหรับฉันมันดูเหมือนเป็นคุณสมบัติพื้นฐาน ฉันต้องการเข้าถึงองค์ประกอบโดยตรงจากดัชนีของพวกเขา
102 swift  ios8  xcode6 

6
รหัส Object-c สามารถเรียกส่วนขยายที่รวดเร็วในคลาสได้หรือไม่
ฉันค้นหาบางโพสต์ฉันคิดว่าฉันไม่สามารถเขียนส่วนขยายได้อย่างรวดเร็วและเรียกมันจากรหัส Objective-C ใช่ไหม? @objc เช่นแอตทริบิวต์รองรับเฉพาะเมธอดคลาสโปรโตคอล?

25
Swift Xcode Index ค้างหรือช้า
บางทีนี่อาจเป็นเพียงฉันที่ประสบกับ "คุณลักษณะ" ที่น่ารำคาญ: หลังจากอัปเกรดจาก Xcode 6.0.1 เป็น Xcode 6.1 สิ่งต่างๆก็เปลี่ยนไป Xcode 6.1 เป็นดัชนีตลอดไปสำหรับโครงการหรือรวบรวมไฟล์ต้นฉบับ โครงการไม่ใหญ่โต มันมีไฟล์ Swift จำนวนมากและ AWS SDK 2.0 Cocoapods ในพื้นที่ทำงาน ฉันไม่คิดว่ามันควรจะป้องกันไม่ให้ดัชนีและคอมไพล์ทั้งหมดราบรื่น ฉันลองใช้ aws-sdk-ios-samples เพียงเพื่อดูว่า Xcode 6.1 ทำงานอย่างไรกับพวกเขาและจบลงด้วยการรอคอยตลอดไป ฉันได้ลองวิธีแก้ไขอะไรบ้าง: การลบ "ข้อมูลที่ได้มา" ใน Organizer และเปิดใหม่และพื้นที่ทำงาน (ไม่สามารถแก้ไขได้) "แสดงเนื้อหาแพ็กเกจ" บนไฟล์. xcodeproj และลบ. xcworkspace เหมือนใน ( Xcode 4 - ประสิทธิภาพช้า ) ไม่ได้ผลเลยน่าเสียดาย ปล. …

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