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

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

7
Swift make method พารามิเตอร์ไม่แน่นอน?
ฉันจะจัดการกับข้อผิดพลาดนี้โดยไม่ต้องสร้างตัวแปรเพิ่มเติมได้อย่างไร func reduceToZero(x:Int) -> Int { while (x != 0) { x = x-1 // ERROR: cannot assign to 'let' value 'x' } return x } ฉันไม่ต้องการสร้างตัวแปรเพิ่มเติมเพื่อเก็บค่าของ x เป็นไปได้ไหมที่จะทำในสิ่งที่ฉันต้องการ?

2
อะไรคือ“ โปรโตคอล…สามารถใช้เป็นข้อ จำกัด ทั่วไปได้เพราะมีข้อกำหนดในตัวเองหรือประเภทที่เกี่ยวข้อง” หมายความว่าอย่างไร
ฉันกำลังพยายามสร้างพจนานุกรม (จริงๆแล้วเป็นHashSet ) ที่คีย์บนโปรโตคอลที่กำหนดเองใน Swift แต่มันทำให้ฉันมีข้อผิดพลาดในชื่อ: โปรโตคอล 'myProtocol' สามารถใช้เป็นข้อ จำกัด ทั่วไปเท่านั้นเนื่องจากมีข้อกำหนดในตัวเองหรือประเภทที่เกี่ยวข้อง และฉันไม่สามารถสร้างหัวหรือหางของมันได้ protocol Observing: Hashable { } var observers = HashSet<Observing>()

5
อาร์เรย์ใหม่จาก Index Range Swift
ฉันจะทำเรื่องแบบนี้ได้อย่างไร? นำ n องค์ประกอบแรกจากอาร์เรย์: newNumbers = numbers[0..n] ขณะนี้ได้รับข้อผิดพลาดต่อไปนี้: error: could not find an overload for 'subscript' that accepts the supplied arguments แก้ไข: นี่คือฟังก์ชันที่ฉันกำลังทำงานอยู่ func aFunction(numbers: Array<Int>, position: Int) -> Array<Int> { var newNumbers = numbers[0...position] return newNumbers }
123 arrays  swift 

3
พารามิเตอร์ที่สองของ NSLocalizedString () คืออะไร?
อะไรคือสิ่งที่*commentพารามิเตอร์ใน: NSString *NSLocalizedString(NSString *key, NSString *comment) ถ้าฉันทำสิ่งนี้: NSLocalizedString(@"Hello_World_Key", @"Hello World") และมี Localizable.strings สองเวอร์ชัน (อังกฤษและสเปน) แต่ละเวอร์ชันจำเป็นต้องมีรายการ: English.lproj/Localization.strings: @"Hello_World_Key" = @"Hello World"; Spanish.lproj/Localization.strings: @"Hello_World_Key" = @"Hola Mundo"; ภาษาอังกฤษไม่ซ้ำซ้อนเหรอ?

7
การประกาศไม่สามารถเป็นข้อผิดพลาดทั้ง 'สุดท้าย' และ 'ไดนามิก' ใน Swift 1.2
คำประกาศvalueด้านล่าง import Foundation class AAA: NSObject { func test2() { self.dynamicType } } extension AAA { static let value = 111 } ทำให้เกิดข้อผิดพลาดในการคอมไพล์ต่อไปนี้ A declaration cannot be both 'final' and 'dynamic' เหตุใดจึงเกิดขึ้นและฉันจะจัดการกับสิ่งนี้ได้อย่างไร ฉันใช้ Swift 1.2 (เวอร์ชันที่จัดส่งภายใน Xcode 6.3.1 6D1002)

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 

8
คลาส 'ViewController' ไม่มี initializers อย่างรวดเร็ว
รับการร้องเรียนจากคอมไพเลอร์เมื่อฉันทำสิ่งนี้ class ViewController: UIViewController { var delegate : AppDelegate override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. //self.appDelegate = UIApplication.sharedApplication().delegate; } @IBAction func getData(sender : AnyObject) { } @IBAction func LogOut(sender : AnyObject) { } } อย่างไรก็ตามหากฉันเพิ่งเพิ่ม? ในตอนท้ายของAppDelegateเช่นด้านล่างและข้อผิดพลาดหายไป class ViewController: …

19
ปัญหาการนำเข้า Swift Bridging Header
ทำตามคำแนะนำฉันได้สร้างส่วนหัวเชื่อมต่อและเพิ่มในโครงการของฉันแล้ว ขออภัยเกิดข้อผิดพลาดต่อไปนี้: : 0: ข้อผิดพลาด: ไม่สามารถนำเข้าส่วนหัวของ Objective-C '--- path - to - header / .... h' ในการตั้งค่าการสร้างฉันได้เพิ่มสตริงเส้นทางการค้นหาส่วนหัวไปยังตำแหน่งของการเชื่อมต่อส่วนหัว แต่ไม่มีอะไรช่วย มีใครประสบปัญหานี้

3
จะสร้างตัวแปรส่วนกลางได้อย่างไร?
ฉันมีตัวแปรส่วนกลางที่ต้องแชร์ระหว่าง ViewControllers ของฉัน ใน Objective-C ฉันสามารถกำหนดตัวแปรแบบคงที่ได้ แต่ฉันหาวิธีกำหนดตัวแปรส่วนกลางใน Swift ไม่ได้ คุณรู้วิธีการทำหรือไม่?

8
จะเปลี่ยนข้อความปุ่มใน Swift Xcode 6 ได้อย่างไร?
นี่คือสิ่งที่ฉันพยายามทำ หากคุณเคยเล่น Halo หรือ CoD คุณจะรู้ว่าคุณสามารถเปลี่ยนชื่อของการโหลดอาวุธได้ สิ่งที่ฉันกำลังทำคือทำเพื่อให้คุณสามารถเปลี่ยนชื่อการโหลดโดยใช้ช่องข้อความ นี่คือปัญหาชื่อโหลดเอาต์ในเมนูโหลดเอาต์คือปุ่ม (เพื่อเลือกและดูข้อมูลเกี่ยวกับการโหลดออกนั้น) และฉันสามารถเขียนสิ่งนี้ได้: @IBAction func renameClassButton(sender: AnyObject) { classTopButton.text = "\(classTopTextField)" } ยกเว้นว่า [classTopButton] เป็นปุ่มที่ไม่อนุญาตให้ใช้คำต่อท้าย ".text"
122 ios  swift 

13
วิธีที่รวบรัดที่สุดในการลบอักขระตัวแรกออกจากสตริงใน Swift คืออะไร?
ฉันต้องการลบอักขระตัวแรกออกจากสตริง จนถึงตอนนี้สิ่งที่รวบรัดที่สุดที่ฉันคิดคือ: display.text = display.text!.substringFromIndex(advance(display.text!.startIndex, 1)) ฉันรู้ว่าเราไม่สามารถสร้างดัชนีเป็นสตริงด้วยIntUnicode ได้ แต่วิธีนี้ดูเหมือนจะละเอียดมาก มีวิธีอื่นที่ฉันมองข้ามไปไหม?
122 string  swift 

2
init coder aDecoder คืออะไร?
ฉันกำลังเรียนรู้การพัฒนา iOS จากหลักสูตรออนไลน์และทุกครั้งที่สร้างมุมมองแบบกำหนดเอง (เซลล์มุมมองตารางที่กำหนดเองเซลล์มุมมองคอลเลกชัน ฯลฯ ) ผู้สอนจะใช้เครื่องมือเริ่มต้นนี้เสมอ: required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } ทำไมฉันต้องเรียกสิ่งนี้เสมอ? มันทำอะไร? ฉันสามารถใส่คุณสมบัติภายใน init ได้หรือไม่
122 ios  swift 

5
จะส่งผ่านข้อมูลโดยใช้ NotificationCenter ใน swift 3.0 และ NSNotificationCenter ใน swift 2.0 ได้อย่างไร
ฉันกำลังใช้งานsocket.ioในแอพ iOS ที่รวดเร็วของฉัน ขณะนี้อยู่ในแผงควบคุมหลายแผงฉันกำลังฟังเซิร์ฟเวอร์และรอข้อความเข้า ฉันกำลังเรียกใช้getChatMessageฟังก์ชันในแต่ละแผง: func getChatMessage(){ SocketIOManager.sharedInstance.getChatMessage { (messageInfo) -> Void in dispatch_async(dispatch_get_main_queue(), { () -> Void in //do sth depending on which panel user is }) } } อย่างไรก็ตามฉันสังเกตเห็นว่ามันเป็นวิธีการที่ผิดและฉันจำเป็นต้องเปลี่ยน - ตอนนี้ฉันต้องการเริ่มฟังข้อความขาเข้าเพียงครั้งเดียวและเมื่อมีข้อความเข้ามาให้ส่งข้อความนี้ไปยังแผงควบคุมที่รับฟัง ดังนั้นฉันต้องการส่งข้อความขาเข้าผ่าน NSNotificationCenter จนถึงตอนนี้ฉันสามารถส่งข้อมูลว่ามีบางอย่างเกิดขึ้น แต่ไม่สามารถส่งผ่านข้อมูลได้ ฉันกำลังทำโดย: NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(ViewController.showSpinningWheel(_:)), name: showSpinner, object: nil) จากนั้นฉันมีฟังก์ชั่นที่เรียกว่า: func showSpinningWheel(notification: NSNotification) { …

3
รับค่าอินพุตจาก TextField ใน iOS alert ใน Swift
ฉันกำลังพยายามสร้างข้อความแจ้งเตือนพร้อมอินพุตจากนั้นรับค่าจากอินพุต ฉันได้พบบทเรียนดีๆมากมายเกี่ยวกับการสร้างช่องป้อนข้อความ แต่ฉันไม่สามารถรับค่าจากการแจ้งเตือนได้

3
จะทำให้คลาสเป็นไปตามโปรโตคอลใน Swift ได้อย่างไร
ใน Objective-C: @interface CustomDataSource : NSObject <UITableViewDataSource> @end ใน Swift: class CustomDataSource : UITableViewDataSource { } อย่างไรก็ตามข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น: ประเภท 'CellDatasDataSource' ไม่สอดคล้องกับโปรโตคอล 'NSObjectProtocol' ประเภท 'CellDatasDataSource' ไม่สอดคล้องกับโปรโตคอล 'UITableViewDataSource' วิธีที่ถูกต้องควรเป็นอย่างไร?
121 objective-c  swift 

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