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

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

5
มุมมองการแจ้งเตือนอย่างรวดเร็วด้วยตกลงและยกเลิก: แตะปุ่มใด
ฉันมีมุมมองการแจ้งเตือนใน Xcode ที่เขียนด้วย Swift และฉันต้องการกำหนดว่าปุ่มใดที่ผู้ใช้เลือก (เป็นกล่องโต้ตอบการยืนยัน) ที่จะไม่ทำอะไรเลยหรือดำเนินการบางอย่าง ปัจจุบันฉันมี: @IBAction func pushedRefresh(sender: AnyObject) { var refreshAlert = UIAlertView() refreshAlert.title = "Refresh?" refreshAlert.message = "All data will be lost." refreshAlert.addButtonWithTitle("Cancel") refreshAlert.addButtonWithTitle("OK") refreshAlert.show() } ฉันอาจใช้ปุ่มผิดโปรดแก้ไขฉันด้วยเพราะทั้งหมดนี้ใหม่สำหรับฉัน

6
การวาดภาพเคลื่อนไหวของวงกลม
ฉันกำลังมองหาวิธีทำให้ภาพวาดของวงกลมเป็นภาพเคลื่อนไหว ฉันสามารถสร้างวงกลมได้ แต่มันรวมเข้าด้วยกัน นี่คือCircleViewชั้นเรียนของฉัน: import UIKit class CircleView: UIView { override init(frame: CGRect) { super.init(frame: frame) self.backgroundColor = UIColor.clearColor() } required init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func drawRect(rect: CGRect) { // Get the Graphics Context var context = UIGraphicsGetCurrentContext(); // Set the circle outerline-width …

10
Swift Alamofire: วิธีรับรหัสสถานะการตอบกลับ HTTP
ฉันต้องการดึงรหัสสถานะการตอบกลับ HTTP (เช่น 400, 401, 403, 503 ฯลฯ ) สำหรับคำขอที่ล้มเหลว (และเพื่อความสำเร็จด้วย) ในรหัสนี้ฉันกำลังทำการพิสูจน์ตัวตนผู้ใช้ด้วย HTTP Basic และต้องการส่งข้อความถึงผู้ใช้ว่าการรับรองความถูกต้องล้มเหลวเมื่อผู้ใช้พิมพ์รหัสผ่านผิด Alamofire.request(.GET, "https://host.com/a/path").authenticate(user: "user", password: "typo") .responseString { (req, res, data, error) in if error != nil { println("STRING Error:: error:\(error)") println(" req:\(req)") println(" res:\(res)") println(" data:\(data)") return } println("SUCCESS for String") } .responseJSON { (req, …
106 swift  alamofire 

19
ทำให้ข้อความเป็นตัวหนาโดยใช้สตริงที่มาจากแหล่งข้อมูลอย่างรวดเร็ว
ฉันมีสตริงแบบนี้ var str = "@text1 this is good @text1" ตอนนี้แทนที่ด้วยสตริงอื่นพูดtext1 t 1ฉันสามารถแทนที่ข้อความได้ แต่ฉันไม่สามารถทำตัวหนาได้ ฉันต้องการทำให้สตริงใหม่เป็นตัวหนาt 1เพื่อให้ผลลัพธ์สุดท้ายเป็น: @t 1นี่คือสิ่งที่ดี@t 1 ฉันจะทำมันได้อย่างไร? ตัวอย่างทั้งหมดที่ฉันเห็นอยู่ใน Objective-C แต่ฉันต้องการทำใน Swift ขอบคุณล่วงหน้า.

5
'get' และ 'set' ใน Swift คืออะไร?
ฉันกำลังเรียนรู้ Swift และฉันอ่านThe Swift Programming Languageจาก Apple ฉันไม่มีพื้นหลัง Objective C (เฉพาะ PHP, JS และอื่น ๆ แต่ไม่มี Obj C) ในหน้า 24-25 ฉันเห็นรหัสนี้: //...Class definition stuff... var perimeter: Double { get { return 3.0 * sideLength } set { sideLength = newValue / 3.0 } } //...Class continues... ส่วนนี้ไม่ได้ระบุไว้ในหนังสือและฉันไม่สามารถรับสิ่งเหล่านั้นได้ ใครช่วยอธิบายหน่อยว่าget and setคืออะไร?
106 swift  accessor 

5
โปรโตคอลสามารถใช้เป็นข้อ จำกัด ทั่วไปเท่านั้นเนื่องจากมีข้อกำหนดในตัวเองหรือประเภทที่เกี่ยวข้อง
ฉันมีโปรโตคอล RequestType และมี AssociatedType Model ดังต่อไปนี้ public protocol RequestType: class { associatedtype Model var path: String { get set } } public extension RequestType { public func executeRequest(completionHandler: Result<Model, NSError> -> Void) { request.response(rootKeyPath: rootKeyPath) { [weak self] (response: Response<Model, NSError>) -> Void in completionHandler(response.result) guard let weakSelf = self …

7
วิธีกำหนดค่าคงที่คงที่ในคลาสอย่างรวดเร็ว
ฉันมีคำจำกัดความเหล่านี้ในฟังก์ชันที่ใช้งานได้ class MyClass { func myFunc() { let testStr = "test" let testStrLen = countElements(testStr) } } แต่ถ้าฉันย้าย 'testStr' และ 'testStrLen' ไปที่ระดับคลาสมันจะไม่คอมไพล์ มันขึ้นว่า 'MyClass.Type ไม่มีสมาชิกชื่อ' testStr ' class MyClass { let testStr = "test" let testStrLen = countElements(testStr) func myFunc() { } } ฉันจะแก้ไขปัญหานี้ได้อย่างไร? ฉันไม่ต้องการจ่ายค่าปรับสำหรับการนับค่าคงที่ของ 'การทดสอบ' ทุกครั้ง จากความเข้าใจของฉันเกี่ยวกับความคิดเห็นด้านล่างฉันต้องทำสิ่งนี้: class MyClass …
105 swift 

8
ข้อผิดพลาด: เป้าหมายการปรับใช้ขั้นต่ำของไฟล์โมดูลคือ ios8.3 v8.3
ความพยายามทั้งหมดในการนำเข้าเฟรมเวิร์กแบบไดนามิกในสนามเด็กเล่น Xcode ทำให้เกิดข้อผิดพลาดต่อไปนี้: error: module file's minimum deployment target is ios8.3 v8.3

4
'#selector' หมายถึงวิธีการที่ไม่เปิดเผย Objective-C
Xcode 7.3 ใหม่ที่ส่งผ่านพารามิเตอร์ผ่าน addTarget มักจะใช้ได้กับฉัน แต่ในกรณีนี้มันทำให้เกิดข้อผิดพลาดในชื่อเรื่อง ความคิดใด ๆ ? มันพ่นอีกครั้งเมื่อฉันพยายามเปลี่ยนเป็น @objc ขอบคุณ! cell.commentButton.addTarget(self, action: #selector(FeedViewController.didTapCommentButton(_:)), forControlEvents: UIControlEvents.TouchUpInside) ตัวเลือกที่กำลังโทร func didTapCommentButton(post: Post) { }
105 xcode  swift 

6
Swift native base class หรือ NSObject
ผมทดสอบออกบางswizzling ISAกับสวิฟท์และพบว่ามันทำงานเฉพาะเมื่อ NSObject เป็นซุปเปอร์ชั้น (โดยตรงหรือเพิ่มขึ้นต่อไป) หรือโดยการใช้ '@objc' ตกแต่ง มิฉะนั้นจะเป็นไปตามรูปแบบการจัดส่งแบบคงที่และแบบ vtable เช่น C ++ เป็นเรื่องปกติหรือไม่ที่จะกำหนดคลาส Swift โดยไม่มีคลาสพื้นฐานของ Cocoa / NSObject หากเป็นเรื่องที่ฉันกังวลนี่หมายถึงพลวัตของ Objective-C ที่กล่าวมาข้างต้นเช่นการสกัดกั้นวิธีการและการวิปัสสนาแบบรันไทม์ พฤติกรรมเวลาทำงานแบบไดนามิกนั่งอยู่ในหัวใจของคุณสมบัติเช่นสังเกตการณ์คุณสมบัติหลักข้อมูลที่มุมมอง Oriented Programming , อุดมศึกษาสั่งซื้อการส่งข้อความ , การวิเคราะห์และกรอบการเข้าสู่ระบบและอื่น ๆ การใช้รูปแบบการเรียกใช้เมธอดของ Objective-C จะเพิ่มตัวถูกดำเนินการรหัสเครื่องประมาณ 20 ตัวให้กับการเรียกใช้เมธอดดังนั้นในบางสถานการณ์ (การเรียกใช้เมธอดที่มีขนาดเล็กจำนวนมาก ) การจัดส่งแบบสแตติกและ vtable สไตล์ C ++ สามารถทำงานได้ดีขึ้น แต่ด้วยกฎ 95-5 ทั่วไป ( 95% ของประสิทธิภาพที่เพิ่มขึ้นมาจากการปรับแต่งโค้ด 5% …

9
ตัวจัดการการเขียนสำหรับ UIAlertAction
ฉันกำลังนำเสนอUIAlertViewให้กับผู้ใช้และฉันคิดไม่ออกว่าจะเขียนตัวจัดการอย่างไร นี่คือความพยายามของฉัน: let alert = UIAlertController(title: "Title", message: "Message", preferredStyle: UIAlertControllerStyle.Alert) alert.addAction(UIAlertAction(title: "Okay", style: UIAlertActionStyle.Default, handler: {self in println("Foo")}) ฉันพบปัญหามากมายใน Xcode เอกสารระบุว่า convenience init(title title: String!, style style: UIAlertActionStyle, handler handler: ((UIAlertAction!) -> Void)!) บล็อก / การปิดทั้งหมดอยู่เหนือหัวของฉันในขณะนี้ ข้อเสนอแนะใด ๆ ที่ชื่นชมมาก


7
ย้อนกลับช่วงใน Swift
มีวิธีทำงานกับช่วงย้อนกลับใน Swift หรือไม่? ตัวอย่างเช่น: for i in 5...1 { // do something } เป็นวงวนที่ไม่มีที่สิ้นสุด ใน Swift เวอร์ชันที่ใหม่กว่านั้นโค้ดจะคอมไพล์ แต่ที่รันไทม์ให้ข้อผิดพลาด: ข้อผิดพลาดร้ายแรง: ไม่สามารถสร้างช่วงด้วย upperBound <lowerBound ฉันรู้ว่าฉันสามารถใช้1..5แทนคำนวณj = 6 - iและใช้jเป็นดัชนีของฉันได้ ฉันแค่สงสัยว่ามีอะไรที่ชัดเจนกว่านี้อีกไหม?
105 swift 

5
“% ไม่พร้อมใช้งาน: ใช้ truncatingRemainder แทน” หมายความว่าอย่างไร
ฉันได้รับข้อผิดพลาดต่อไปนี้เมื่อใช้โค้ดสำหรับส่วนขยายฉันไม่แน่ใจว่าพวกเขาขอให้ใช้ตัวดำเนินการอื่นหรือแก้ไขค่าในนิพจน์ตามการค้นหาทางอินเทอร์เน็ต ข้อผิดพลาด:% ไม่พร้อมใช้งาน: ใช้ truncatingRemainder แทน รหัสส่วนขยาย: extension CMTime { var durationText:String { let totalSeconds = CMTimeGetSeconds(self) let hours:Int = Int(totalSeconds / 3600) let minutes:Int = Int(totalSeconds % 3600 / 60) let seconds:Int = Int(totalSeconds % 60) if hours > 0 { return String(format: "%i:%02i:%02i", hours, minutes, seconds) } else …
105 ios  swift  swift3  modulus 

5
ความแตกต่างระหว่าง "เงื่อนไขเบื้องต้น" และ "ยืนยัน" อย่างรวดเร็ว?
อะไรคือความแตกต่างระหว่างprecondition(condition: Bool, message: String)และassert(condition: Bool, message: String)ในสวิฟท์? ทั้งสองคนดูเหมือนกันกับฉัน เราควรใช้บริบทใด
105 swift 

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