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

ใช้แท็กนี้สำหรับคำถามที่เกี่ยวข้องโดยตรงกับการเปลี่ยนแปลงในเวอร์ชัน 3 ของภาษาโปรแกรม Swift ของ Apple ใช้แท็ก [รวดเร็ว] สำหรับคำถามภาษาทั่วไปเพิ่มเติมหรือแท็ก [ios], [โกโก้], [apple-watch] ฯลฯ สำหรับคำถามเกี่ยวกับการพัฒนาบนแพลตฟอร์ม Apple

15
วิธีสร้างคิวการส่งใน Swift 3
ใน Swift 2 ฉันสามารถสร้างคิวด้วยรหัสต่อไปนี้: let concurrentQueue = dispatch_queue_create("com.swift3.imageQueue", DISPATCH_QUEUE_CONCURRENT) แต่นี่ไม่ได้รวบรวมใน Swift 3 วิธีที่ดีที่สุดในการเขียนสิ่งนี้ใน Swift 3 คืออะไร?

6
คำหลัก 'เปิด' ใน Swift คืออะไร
ObjectiveC.swiftไฟล์จากห้องสมุดมาตรฐานมีเพียงไม่กี่บรรทัดของรหัสต่อไปรอบ ๆ เส้น 228: extension NSObject : Equatable, Hashable { /// ... open var hashValue: Int { return hash } } อะไรopen varหมายถึงในบริบทนี้หรือสิ่งที่เป็นopenคำหลักในทั่วไป?

6
วิธีตั้งโปรแกรมการหน่วงเวลาใน Swift 3
ในรุ่นก่อนหน้าของ Swift หนึ่งสามารถสร้างความล่าช้าด้วยรหัสต่อไปนี้: let time = dispatch_time(dispatch_time_t(DISPATCH_TIME_NOW), 4 * Int64(NSEC_PER_SEC)) dispatch_after(time, dispatch_get_main_queue()) { //put your code which should be executed with a delay here } แต่ตอนนี้ใน Swift 3 Xcode จะเปลี่ยนสิ่งต่าง ๆ 6 อย่างโดยอัตโนมัติ แต่แล้วข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น: "ไม่สามารถแปลงDispatchTime.nowเป็นค่าที่คาดหวังdispatch_time_t aka UInt64." เราจะสร้างความล่าช้าก่อนที่จะรันลำดับของรหัสใน Swift 3 ได้อย่างไร

6
ฉันจะ dispatch_sync, dispatch_async, dispatch_after และอื่น ๆ ใน Swift 3, Swift 4 และอื่น ๆ ได้อย่างไร
ฉันมีโค้ดจำนวนมากในโครงการ Swift 2.x (หรือ 1.x) ที่มีลักษณะดังนี้: // Move to a background thread to do some long running work dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { let image = self.loadOrGenerateAnImage() // Bounce back to the main thread to update the UI dispatch_async(dispatch_get_main_queue()) { self.imageView.image = image } } หรือสิ่งนี้เพื่อชะลอการดำเนินการ: dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(0.5 * Double(NSEC_PER_SEC))), dispatch_get_main_queue()) { …

10
CGRectMake, CGPointMake, CGSizeMake, CGRectZero, CGPointZero ไม่พร้อมใช้งานใน Swift
หลังจากแปลงรหัสเป็น swift 3.0 ล่าสุดฉันได้แสดงข้อผิดพลาด บอกวิธีแก้ปัญหาให้ฉันด้วย CGSize = CGSizeMake(0,0) static var frameAtStartOfPan: CGRect = CGRectZero static var startPointOfPan: CGPoint = CGPointZero ซึ่งยังใช้งานไม่ได้
242 uikit  swift3  xcode8  ios10 

5
วิธีการให้คำอธิบายที่มีการแปลประเภทข้อผิดพลาดใน Swift?
ฉันกำลังกำหนดประเภทข้อผิดพลาดที่กำหนดเองด้วยไวยากรณ์ Swift 3 และฉันต้องการให้คำอธิบายที่เป็นมิตรกับผู้ใช้ของข้อผิดพลาดที่ส่งคืนโดยlocalizedDescriptionคุณสมบัติของErrorวัตถุ ฉันจะทำมันได้อย่างไร public enum MyError: Error { case customError var localizedDescription: String { switch self { case .customError: return NSLocalizedString("A user-friendly description of the error.", comment: "My error") } } } let error: Error = MyError.customError error.localizedDescription // "The operation couldn’t be completed. (MyError error 0.)" มีวิธีที่localizedDescriptionจะส่งคืนคำอธิบายข้อผิดพลาดที่กำหนดเองของฉันหรือไม่ …

2
เครื่องมือบรรทัดคำสั่ง - ข้อผิดพลาด - xcrun: ข้อผิดพลาด: ไม่พบยูทิลิตี“ xcodebuild” ไม่ใช่เครื่องมือสำหรับนักพัฒนาหรือใน PATH
ฉันได้รับข้อผิดพลาดนี้ในขณะที่สร้างSwiftJSONกรอบงานให้กับโครงการ Xcode บางอย่างผ่านทางผู้จัดการฝ่ายการสั่งซื้อของ Carthage Sivaramaiahs-Mac-mini: GZipDemoApp vsoftMacmini5 อัพเดท $ carthage - แพลตฟอร์ม iOS *** กำลังเรียก GzipSwift *** กำลังเรียก SwiftyJSON *** ตรวจสอบ GzipSwift ที่ "3.1.1" *** กำลังดาวน์โหลดไบนารีของ SwiftyJSON.framework ที่ "3.1.3" *** เอาต์พุต xcodebuild สามารถพบได้ใน /var/folders/7m/y0r2mdhn0f16zz1nlt34ypzr0000gn/T/carthage-xcodebuild.apLXCc.log ภารกิจเชลล์ (/ usr / bin / xcrun xcodebuild -project /Users/vsoftMacmini5/Desktop/GZipDemoApp/Carthage/Checkouts/GzipSwift/Gzip.xcodeproj CODE_SIGNING_REQUIRED = NO CODE_SIGN_IDENTITY = รหัสทางออก …

10
คิดขนาดของ UILabel ตาม String ใน Swift
ฉันพยายามคำนวณความสูงของ UILabel โดยอิงตามความยาวสตริงที่แตกต่างกัน func calculateContentHeight() -> CGFloat{ var maxLabelSize: CGSize = CGSizeMake(frame.size.width - 48, CGFloat(9999)) var contentNSString = contentText as NSString var expectedLabelSize = contentNSString.boundingRectWithSize(maxLabelSize, options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: [NSFontAttributeName: UIFont.systemFontOfSize(16.0)], context: nil) print("\(expectedLabelSize)") return expectedLabelSize.size.height } ด้านบนเป็นฟังก์ชั่นปัจจุบันที่ฉันใช้เพื่อกำหนดความสูง แต่มันไม่ทำงาน ฉันซาบซึ้งอย่างยิ่งที่จะได้รับความช่วยเหลือ ฉันจะชอบคำตอบใน Swift ไม่ใช่ Objective C
183 ios  iphone  string  swift3  uilabel 

1
ลองลอง! & ลอง? ความแตกต่างคืออะไรและจะใช้เมื่อใด
ในSwift 2.0 , Apple แนะนำวิธีใหม่ในการจัดการข้อผิดพลาด (do-try-catch) เมื่อไม่กี่วันที่ผ่านมาใน Beta 6 มีการใช้คำหลักที่ใหม่กว่า ( try?) try!นอกจากนี้ยังรู้ว่าฉันสามารถใช้ คำหลักทั้งสามคำแตกต่างกันอย่างไรและจะใช้เมื่อใด

14
Swift 3 URLSession.shared () การอ้างอิงที่คลุมเครือกับ dataTask ของสมาชิก (พร้อมกับ: completionHandler :) error (ข้อผิดพลาด)
สวัสดีฉันใช้ json ในการแยกวิเคราะห์รหัสสำหรับ swift2.2 แต่เมื่อฉันใช้กับ Swift 3.0 จะทำให้ฉันมีข้อผิดพลาด ViewController.swift: 132: 31: การอ้างอิงที่คลุมเครือกับ dataTask ของสมาชิก (ด้วย: completionHandler :) ' รหัสของฉันที่นี่ let listUrlString = "http://bla.com?batchSize=" + String(batchSize) + "&fromIndex=" + String(fromIndex) let myUrl = URL(string: listUrlString); let request = NSMutableURLRequest(url:myUrl!); request.httpMethod = "GET"; let task = URLSession.shared().dataTask(with: request) { data, response, error …
169 ios  json  swift3 

2
การปิดใช้พารามิเตอร์ที่ไม่หลบหนีอาจทำให้สามารถหลบหนีได้
ฉันมีโปรโตคอล: enum DataFetchResult { case success(data: Data) case failure } protocol DataServiceType { func fetchData(location: String, completion: (DataFetchResult) -> (Void)) func cachedData(location: String) -> Data? } ด้วยตัวอย่างการใช้งาน: /// An implementation of DataServiceType protocol returning predefined results using arbitrary queue for asynchronyous mechanisms. /// Dedicated to be used in various tests …

6
วิธีเปิด URL ใน Swift3
openURLเลิกใช้แล้วใน Swift3 ทุกคนสามารถให้ตัวอย่างของวิธีการเปลี่ยนopenURL:options:completionHandler:ทำงานเมื่อพยายามที่จะเปิด URL?
149 ios  swift  swift3 

10
เป็นตัวอย่างที่ดีในการแยกความแตกต่างระหว่าง fileprivate และ private ใน Swift3
นี้บทความได้รับประโยชน์ในการทำความเข้าใจ specifiers Swift 3เข้าถึงใหม่ใน นอกจากนี้ยังให้ตัวอย่างบางส่วนของการใช้งานที่แตกต่างกันและfileprivateprivate คำถามของฉันคือ - ไม่ได้ใช้fileprivateกับฟังก์ชั่นที่จะใช้เฉพาะในไฟล์นี้เหมือนกับที่ใช้privateหรือไม่

11
ตัวดำเนินการ“ ++” และ“ -” เลิกใช้ Xcode 7.3 แล้ว
ฉันกำลังดูโน้ต Xcode 7.3 และฉันสังเกตเห็นปัญหานี้ ตัวดำเนินการ ++ และ - ถูกเลิกใช้แล้ว บางคนอธิบายได้ไหมว่าทำไมมันถึงถูกเลิก? และฉันขวาว่าในรุ่นใหม่ของ Xcode ตอนนี้คุณจะใช้แทนการ++นี้x += 1; ตัวอย่าง: for var index = 0; index < 3; index += 1 { print("index is \(index)") }

9
แยกวิเคราะห์ JSON อย่างถูกต้องใน Swift 3
ฉันพยายามดึงการตอบสนอง JSON และเก็บผลลัพธ์ไว้ในตัวแปร ฉันเคยใช้รหัสนี้ในเวอร์ชันก่อนหน้าของ Swift จนกระทั่ง Xcode 8 เวอร์ชัน GM เปิดตัว ฉันได้ดูโพสต์ที่คล้ายกันสองสามรายการใน StackOverflow: Swift 2 Parsing JSON - ไม่สามารถห้อยค่าประเภท 'AnyObject'และJSON Parsing ใน Swift 3ได้ อย่างไรก็ตามดูเหมือนว่าความคิดที่นำเสนอนั้นจะไม่สามารถใช้ได้กับสถานการณ์นี้ ฉันจะแยกวิเคราะห์การตอบกลับ JSON ใน Swift 3 อย่างถูกต้องได้อย่างไร มีอะไรเปลี่ยนแปลงไปบ้างในการอ่าน JSON ใน Swift 3? ด้านล่างนี้คือรหัสที่เป็นปัญหา (สามารถเรียกใช้ในสนามเด็กเล่น): import Cocoa let url = "https://api.forecast.io/forecast/apiKey/37.5673776,122.048951" if let url = NSURL(string: url) …
123 json  swift  parsing  swift3  xcode8 

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