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

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

24
เลื่อนมุมมองขึ้นเมื่อแป้นพิมพ์ครอบคลุมช่องสัญญาณเข้าเท่านั้น
ฉันกำลังพยายามสร้างหน้าจอป้อนข้อมูลสำหรับ iPhone หน้าจอมีช่องป้อนข้อมูลจำนวนมาก ส่วนใหญ่จะอยู่ด้านบนของหน้าจอ แต่มีสองฟิลด์ที่ด้านล่าง เมื่อผู้ใช้พยายามแก้ไขข้อความที่ด้านล่างของหน้าจอแป้นพิมพ์จะปรากฏขึ้นและจะครอบคลุมหน้าจอ ฉันพบวิธีแก้ปัญหาง่ายๆในการเลื่อนหน้าจอขึ้นเมื่อเกิดเหตุการณ์นี้ แต่ผลลัพธ์คือหน้าจอจะเลื่อนขึ้นเสมอและฟิลด์ที่ด้านบนของหน้าจอจะขยับให้พ้นจากมือเมื่อผู้ใช้พยายามแก้ไขสิ่งเหล่านั้น มีวิธีให้หน้าจอเคลื่อนที่เฉพาะเมื่อแก้ไขฟิลด์ด้านล่างหรือไม่ ฉันใช้รหัสนี้ฉันพบที่นี่ : override func viewDidLoad() { super.viewDidLoad() NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillShow:"), name: UIKeyboardWillShowNotification, object: nil) NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWillHide:"), name: UIKeyboardWillHideNotification, object: nil) } func keyboardWillShow(sender: NSNotification) { self.view.frame.origin.y -= 150 } func keyboardWillHide(sender: NSNotification) { self.view.frame.origin.y += 150 }
148 ios  swift  keyboard  xcode6 

6
วิธีใช้ Swift @autoclosure
ฉันสังเกตเห็นเมื่อเขียนassertใน Swift ว่าค่าแรกพิมพ์เป็น @autoclosure() -> Bool มีวิธีการมากเกินไปที่จะกลับทั่วไปค่าต่อการดำรงอยู่การทดสอบผ่านทางTLogicValue protocol อย่างไรก็ตามการเกาะติดกับคำถามในมืออย่างเคร่งครัด แต่ดูเหมือนว่ามันต้องการที่ส่งกลับ@autoclosureBool การเขียนการปิดจริงที่ไม่มีพารามิเตอร์และส่งคืน Bool ไม่ทำงานฉันต้องการเรียกการปิดเพื่อให้คอมไพล์เช่น: assert({() -> Bool in return false}(), "No user has been set", file: __FILE__, line: __LINE__) อย่างไรก็ตามเพียงผ่าน Bool ทำงาน: assert(false, "No user has been set", file: __FILE__, line: __LINE__) แล้วเกิดอะไรขึ้น คือ@autoclosureอะไร แก้ไข: @auto_closureถูกเปลี่ยนชื่อ@autoclosure
148 closures  swift 

10
วิธีบันทึกข้อมูลในเครื่องในแอพ Swift
ขณะนี้ฉันกำลังทำงานกับแอพ iOS ที่พัฒนาใน Swift และฉันต้องการจัดเก็บเนื้อหาที่ผู้ใช้สร้างขึ้นบนอุปกรณ์ แต่ดูเหมือนว่าฉันไม่สามารถหาวิธีที่ง่ายและรวดเร็วในการจัดเก็บ / รับเนื้อหาผู้ใช้บนอุปกรณ์ มีใครช่วยอธิบายวิธีจัดเก็บและเข้าถึงที่จัดเก็บในตัวเครื่องได้บ้าง แนวคิดคือการจัดเก็บข้อมูลเมื่อผู้ใช้ดำเนินการกระทำและรับมันเมื่อแอปเริ่มต้น

6
คืนค่าหลายค่าจากฟังก์ชั่นอย่างรวดเร็ว
ฉันจะคืนค่าข้อมูลที่แยกต่างหาก 3 ประเภทเดียวกัน (Int) จากฟังก์ชันใน swift ได้อย่างไร ฉันพยายามที่จะคืนค่าเวลาของวันฉันต้องกลับจำนวนชั่วโมงนาทีและวินาทีเป็นจำนวนเต็มแยก แต่ทั้งหมดในครั้งเดียวไปจากฟังก์ชั่นเดียวกันเป็นไปได้หรือไม่ ฉันคิดว่าฉันไม่เข้าใจไวยากรณ์สำหรับคืนค่าหลายค่า นี่คือรหัสที่ฉันใช้ฉันมีปัญหากับบรรทัดสุดท้าย (คืน) ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก! func getTime() -> Int { let date = NSDate() let calendar = NSCalendar.currentCalendar() let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute | .CalendarUnitSecond, fromDate: date) let hour = components.hour let minute = components.minute let second = components.second …
148 function  swift  return 

5
กรณีที่รวดเร็วล้มลง
สวิฟท์มีคำแถลงหรือไม่ เช่นถ้าฉันทำสิ่งต่อไปนี้ var testVar = "hello" var result = 0 switch(testVal) { case "one": result = 1 case "two": result = 1 default: result = 3 } เป็นไปได้หรือไม่ที่จะใช้รหัสเดียวกันสำหรับกรณี "หนึ่ง" และกรณี "สอง"

5
วิธีการส่งชนิดคลาสเป็นพารามิเตอร์ฟังก์ชัน
ฉันมีฟังก์ชั่นทั่วไปที่เรียกใช้บริการเว็บและทำให้การตอบสนอง JSON กลับเป็นวัตถุ class func invokeService<T>(service: String, withParams params: Dictionary<String, String>, returningClass: AnyClass, completionHandler handler: ((T) -> ())) { /* Construct the URL, call the service and parse the response */ } สิ่งที่ฉันพยายามทำให้สำเร็จคือโค้ด Java ที่เทียบเท่ากัน public <T> T invokeService(final String serviceURLSuffix, final Map<String, String> params, final Class<T> classTypeToReturn) { } …

10
'โมดูลไม่ได้รับการรวบรวมสำหรับการทดสอบ' เมื่อใช้ @testable
ฉันกำลังพยายามใช้การ@testableประกาศใหม่ของ Swift 2 เพื่อแสดงชั้นเรียนของฉันไปยังเป้าหมายการทดสอบ อย่างไรก็ตามฉันได้รับข้อผิดพลาดของคอมไพเลอร์นี้: Intervalsเป็นโมดูลที่มีชั้นเรียนที่ฉันพยายามเปิดเผย ฉันจะกำจัดข้อผิดพลาดนี้ได้อย่างไร

23
ความล้มเหลวในการทดสอบ UI - ทั้งองค์ประกอบและลูกหลานไม่มีแป้นพิมพ์โฟกัสบน secureTextField
นี่คือกรณีของฉัน: let passwordSecureTextField = app.secureTextFields["password"] passwordSecureTextField.tap() passwordSecureTextField.typeText("wrong_password") //here is an error ความล้มเหลวในการทดสอบ UI - ทั้งองค์ประกอบและลูกหลานไม่มีโฟกัสของแป้นพิมพ์ ธาตุ: เกิดอะไรขึ้น? นี่คือการทำงานที่ดีสำหรับปกติแต่ปัญหาที่เกิดขึ้นเฉพาะกับtextFields secureTextFieldsวิธีแก้ปัญหาใด ๆ

5
dealloc ใน Swift
ฉันต้องการดำเนินการล้างข้อมูลเมื่อสิ้นสุดอายุการใช้งานของวิวคอนโทรลเลอร์คือลบการNSNotificationCenterแจ้งเตือน การใช้deallocผลลัพธ์ในข้อผิดพลาดของคอมไพเลอร์ Swift: Cannot override 'dealloc' which has been marked unavailable อะไรคือวิธีที่ดีที่สุดในการทำความสะอาดบางอย่างเมื่อสิ้นสุดชีวิตของวัตถุใน Swift
145 swift  dealloc 


9
เป็นไปได้หรือไม่ที่จะใช้ Swift's Enum ใน Obj-C
ฉันพยายามแปลงคลาส Obj-C ของฉันเป็น Swift และคลาส Obj-C อื่น ๆ ยังคงใช้ enum ในคลาสที่แปลงแล้ว ฉันค้นหาในเอกสารเผยแพร่ล่วงหน้าและไม่พบหรืออาจพลาด มีวิธีใช้ Swift enum ใน Obj-C Class หรือไม่? หรือลิงค์ไปยังเอกสารของปัญหานี้หรือไม่? นี่คือวิธีที่ฉันประกาศ enum ของฉันในรหัส Obj-C เก่าและรหัส Swift ใหม่ รหัส Obj-C เก่าของฉัน: typedef NS_ENUM(NSInteger, SomeEnum) { SomeEnumA, SomeEnumB, SomeEnumC }; @interface SomeClass : NSObject ... @end Swift Code ใหม่ของฉัน: enum SomeEnum: NSInteger …
145 objective-c  enums  swift 

7
Swift: จัดเรียงอาร์เรย์ของวัตถุตามตัวอักษร
ฉันมีสิ่งนี้: class Movies { Name:String Date:Int } และชุด [ภาพยนตร์] ฉันจะจัดเรียงอาร์เรย์ตามตัวอักษรตามชื่อได้อย่างไร ฉันได้ลองแล้ว: movieArr = movieArr.sorted{ $0 < $1 } และ movieArr = sorted(movieArr) แต่ไม่ได้ผลเพราะฉันไม่ได้เข้าถึงแอตทริบิวต์ชื่อของ Movies
145 ios  arrays  swift  sorting 

9
วิธีที่ง่ายที่สุดในการโยนข้อผิดพลาด / ข้อยกเว้นด้วยข้อความที่กำหนดเองใน Swift 2?
ฉันต้องการทำบางสิ่งใน Swift 2 ที่ฉันคุ้นเคยกับภาษาอื่น ๆ หลายภาษา: ทิ้งข้อยกเว้นรันไทม์ด้วยข้อความที่กำหนดเอง ตัวอย่างเช่น (ใน Java): throw new RuntimeException("A custom message here") ฉันเข้าใจว่าฉันสามารถโยน enum ประเภทที่สอดคล้องกับโปรโตคอล ErrorType ได้ แต่ฉันไม่ต้องการกำหนด enums สำหรับข้อผิดพลาดทุกประเภทที่ฉันโยน ตามหลักการแล้วฉันต้องการเลียนแบบตัวอย่างข้างต้นให้ใกล้เคียงที่สุด ฉันตรวจสอบการสร้างคลาสแบบกำหนดเองที่ใช้โปรโตคอล ErrorType แต่ฉันไม่สามารถเข้าใจได้ว่าโปรโตคอลนั้นต้องการอะไร (ดูเอกสารประกอบ ) ไอเดีย?
145 ios  swift  swift2 

16
ค้นหาวัตถุในอาร์เรย์หรือไม่
Swift มีบางอย่างเช่น_.findWhereใน Underscore.js หรือไม่ ฉันมีอาร์เรย์ของ structs ของพิมพ์Tและต้องการที่จะตรวจสอบว่าอาร์เรย์ประกอบด้วยวัตถุ struct ที่มีคุณสมบัติเท่ากับnameFoo พยายามที่จะใช้find()และfilter()แต่พวกเขาเท่านั้นทำงานกับชนิดดั้งเดิมเช่นหรือString Intโยนข้อผิดพลาดเกี่ยวกับการไม่ปฏิบัติตามEquitableโปรโตคอลหรืออะไรทำนองนั้น
144 ios  swift 

23
เพิ่มปัดเพื่อลบ UITableViewCell
UITableViewฉันกำลังทำรายการตรวจสอบการประยุกต์ใช้กับ UITableViewCellผมสงสัยว่าจะเพิ่มรูดไปลบ นี่คือ ViewController.swift ของฉัน: import UIKit class ViewController: UIViewController, UITextFieldDelegate, UITableViewDelegate, UITableViewDataSource { var tableView: UITableView! var textField: UITextField! var tableViewData:Array<String> = [] // Define Colors let lightColor: UIColor = UIColor(red: 0.996, green: 0.467, blue: 0.224, alpha: 1) let medColor: UIColor = UIColor(red: 0.973, green: 0.388, blue: 0.173, alpha: …
144 ios  uitableview  swift 

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