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

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

16
วิธีการนำเสนอ UIActionSheet iOS Swift
วิธีทำ UIActionSheet ใน iOS Swift นี่คือรหัสของฉันสำหรับการเข้ารหัส UIActionSheet @IBAction func downloadSheet(sender: AnyObject) { let optionMenu = UIAlertController(title: nil, message: "Choose Option", preferredStyle: .actionSheet) let saveAction = UIAlertAction(title: "Save", style: .default, handler: { (alert: UIAlertAction!) -> Void in println("Saved") }) let deleteAction = UIAlertAction(title: "Delete", style: .default, handler: { (alert: UIAlertAction!) -> …

10
คุณสมบัติอ่านอย่างเดียวที่คำนวณเทียบกับฟังก์ชันใน Swift
ในเซสชัน Introduction to Swift WWDC คุณสมบัติอ่านอย่างเดียวdescriptionจะแสดง: class Vehicle { var numberOfWheels = 0 var description: String { return "\(numberOfWheels) wheels" } } let vehicle = Vehicle() println(vehicle.description) มีผลกระทบใด ๆ ในการเลือกแนวทางข้างต้นโดยใช้วิธีการแทน: class Vehicle { var numberOfWheels = 0 func description() -> String { return "\(numberOfWheels) wheels" } } let vehicle = …


1
เพิ่มความเร็วในการดึงโพสต์สำหรับแอปโซเชียลเน็ตเวิร์กของฉันโดยใช้การสืบค้นแทนที่จะสังเกตเหตุการณ์เดียวซ้ำ ๆ
ฉันมีอาร์เรย์ของคีย์ที่นำไปสู่การโพสต์วัตถุสำหรับเครือข่ายโซเชียลของฉันเช่น / posts / id / (ข้อมูลโพสต์) เมื่อฉันโหลดโพสต์ฉันโหลด / โพสต์ / 0 แล้ว / โพสต์ / 1 ฯลฯ โดยใช้observeSingleEventOfType(.Value)วิธีการ ผมใช้การlazyTableViewโหลดครั้งละ 30 เครื่องและค่อนข้างช้า มีวิธีใดบ้างที่ฉันสามารถใช้หนึ่งในวิธีการสืบค้นหรือวิธีอื่นในการทำให้เร็วขึ้นแม้ว่าฉันจะต้องปรับโครงสร้างข้อมูลในโครงสร้าง JSON ก็ตาม ฉันมาจาก Parse ที่นำแอปของฉันไปใช้ใหม่และจนถึงตอนนี้ประสบการณ์ก็ค่อนข้างดี เพียงสิ่งเดียวที่ฉันติดอยู่เล็กน้อย ขอบคุณล่วงหน้าสำหรับความช่วยเหลือ! แก้ไข: func loadNext(i: Int) { // check if exhists let ideaPostsRef = Firebase(url: "https://APPURL") ideaPostsRef.childByAppendingPath(i.description).observeSingleEventOfType(.Value, withBlock: { (snapshot) in if …
98 ios  swift  firebase 

8
การตัดแท็ก HTML ออกจากสตริง
ฉันจะลบแท็ก HTML ออกจากสตริงเพื่อให้สามารถแสดงผลข้อความที่สะอาดได้อย่างไร let str = string.stringByReplacingOccurrencesOfString("<[^>]+>", withString: "", options: .RegularExpressionSearch, range: nil) print(str)
98 html  ios  swift 


4
วิธีใช้ Swift struct ใน Objective-C
ฉันมีโครงสร้างที่เก็บค่าคงที่ของแอปพลิเคชันดังต่อไปนี้: struct Constant { static let ParseApplicationId = "xxx" static let ParseClientKey = "xxx" static var AppGreenColor: UIColor { return UIColor(hexString: "67B632") } } ค่าคงที่เหล่านี้สามารถใช้ในรหัส Swift ได้โดยการเรียกConstant.ParseClientKeyเช่น แต่ในโค้ดของฉันมันยังมีคลาส Objective-C อยู่ด้วย ดังนั้นคำถามของฉันคือจะใช้ค่าคงที่เหล่านี้ในรหัส Objective-C ได้อย่างไร? หากวิธีการประกาศค่าคงที่ไม่ดีวิธีใดที่ดีที่สุดในการสร้างค่าคงที่ทั่วโลกเพื่อใช้ในโค้ด Swift และ Objective-C

3
ไปกลับประเภทหมายเลข Swift ไปยัง / จาก Data
ด้วย Swift 3 ที่เอนเอียงไปทางDataแทนที่จะเป็น[UInt8]ฉันพยายามค้นหาวิธีที่มีประสิทธิภาพ / สำนวนที่สุดในการเข้ารหัส / ถอดรหัสจะเปลี่ยนประเภทตัวเลขต่างๆ (UInt8, Double, Float, Int64 ฯลฯ ) เป็นวัตถุข้อมูล มีคำตอบนี้สำหรับการใช้ [UInt8]แต่ดูเหมือนว่าจะใช้ API ตัวชี้ต่างๆที่ฉันไม่พบใน Data ฉันต้องการโดยทั่วไปส่วนขยายที่กำหนดเองที่มีลักษณะดังนี้: let input = 42.13 // implicit Double let bytes = input.data let roundtrip = bytes.to(Double) // --> 42.13 ส่วนที่ทำให้ฉันเข้าใจผิดจริงๆฉันได้ดูเอกสารจำนวนมากคือฉันจะหาสิ่งที่ชี้ได้อย่างไร (OpaquePointer หรือ BufferPointer หรือ UnsafePointer?) จากโครงสร้างพื้นฐานใด ๆ (ซึ่งเป็นตัวเลขทั้งหมด) ใน C …


5
ใน Swift ฉันจะประกาศตัวแปรประเภทเฉพาะที่สอดคล้องกับโปรโตคอลอย่างน้อยหนึ่งรายการได้อย่างไร
ใน Swift ฉันสามารถตั้งค่าประเภทของตัวแปรอย่างชัดเจนโดยการประกาศดังต่อไปนี้: var object: TYPE_NAME หากเราต้องการก้าวไปอีกขั้นและประกาศตัวแปรที่สอดคล้องกับโปรโตคอลหลายตัวเราสามารถใช้การprotocolประกาศ: var object: protocol<ProtocolOne,ProtocolTwo>//etc จะเป็นอย่างไรหากฉันต้องการประกาศอ็อบเจ็กต์ที่เป็นไปตามโปรโตคอลตั้งแต่หนึ่งโปรโตคอลขึ้นไปและเป็นประเภทคลาสพื้นฐานที่เฉพาะเจาะจง Objective-C ที่เทียบเท่าจะมีลักษณะดังนี้: NSSomething<ABCProtocolOne,ABCProtocolTwo> * object = ...; ใน Swift ฉันคาดหวังว่ามันจะมีลักษณะเช่นนี้: var object: TYPE_NAME,ProtocolOne//etc สิ่งนี้ทำให้เรามีความยืดหยุ่นในการจัดการกับการใช้งานประเภทพื้นฐานตลอดจนอินเทอร์เฟซเพิ่มเติมที่กำหนดไว้ในโปรโตคอล มีวิธีอื่นที่ชัดเจนกว่าที่ฉันอาจพลาดไปหรือไม่? ตัวอย่าง ตัวอย่างเช่นสมมติว่าฉันมีUITableViewCellโรงงานที่รับผิดชอบในการส่งคืนเซลล์ที่เป็นไปตามโปรโตคอล เราสามารถตั้งค่าฟังก์ชันทั่วไปที่ส่งคืนเซลล์ที่เป็นไปตามโปรโตคอลได้อย่างง่ายดาย: class CellFactory { class func createCellForItem<T: UITableViewCell where T:MyProtocol >(item: SpecialItem,tableView: UITableView) -> T { //etc } } ในภายหลังฉันต้องการยกเลิกการจัดคิวเซลล์เหล่านี้ในขณะที่ใช้ประโยชน์จากทั้งชนิดและโปรโตคอล var cell: …

4
ตัวแปรฟังก์ชันคงที่ใน Swift
ฉันกำลังพยายามหาวิธีประกาศตัวแปรแบบคงที่ที่กำหนดขอบเขตไว้เฉพาะในฟังก์ชันใน Swift ใน C อาจมีลักษณะดังนี้: int foo() { static int timesCalled = 0; ++timesCalled; return timesCalled; } ใน Objective-C โดยพื้นฐานแล้วจะเหมือนกัน: - (NSInteger)foo { static NSInteger timesCalled = 0; ++timesCalled; return timesCalled; } แต่ดูเหมือนฉันจะทำอะไรแบบนี้ใน Swift ไม่ได้ ฉันได้ลองประกาศตัวแปรด้วยวิธีต่อไปนี้: static var timesCalledA = 0 var static timesCalledB = 0 var timesCalledC: static Int …
97 function  static  swift 

15
จะทำให้ enum สอดคล้องกับโปรโตคอลใน Swift ได้อย่างไร
เอกสารสวิฟท์กล่าวว่าการเรียน , structsและenumsทุกคนสามารถเป็นไปตามโปรโตคอลและฉันจะได้รับไปยังจุดที่พวกเขาทั้งหมดสอดคล้อง แต่ฉันไม่สามารถได้รับenumจะประพฤติค่อนข้างชอบชั้นและstructตัวอย่าง: protocol ExampleProtocol { var simpleDescription: String { get set } mutating func adjust() } class SimpleClass: ExampleProtocol { var simpleDescription: String = "A very simple class." var anotherProperty: Int = 69105 func adjust() { simpleDescription += " Now 100% adjusted." } } var a = SimpleClass() …

2
จำเป็นต้องใช้ autoreleasepool ในโปรแกรม Swift หรือไม่?
ในหน้า 17 ของงานนำเสนอ WWDC14 นี้มีข้อความว่า การทำงานกับ Objective-C? ยังต้องจัดการ autoreleasepool พูลการปล่อยอัตโนมัติ {/ * code * /} นั่นหมายความว่าอย่างไร? หมายความว่าถ้าฐานรหัสของฉันไม่มีไฟล์ Objective-C autoreleasepool {}ก็ไม่จำเป็น? ในคำตอบของคำถามที่เกี่ยวข้องมีตัวอย่างที่autoreleasepoolสามารถเป็นประโยชน์: - (void)useALoadOfNumbers { for (int j = 0; j < 10000; ++j) { @autoreleasepool { for (int i = 0; i < 10000; ++i) { NSNumber *number = [NSNumber …

16
วิธีเปรียบเทียบสองสตริงโดยไม่สนใจตัวพิมพ์เล็กและใหญ่ในภาษา Swift
เราจะเปรียบเทียบสองสตริงในกรณีที่ไม่สนใจอย่างรวดเร็วได้อย่างไร สำหรับเช่น: var a = "Cash" var b = "cash" มีวิธีใดบ้างที่จะคืนค่าจริงถ้าเราเปรียบเทียบ var a & var b
97 ios  swift  string 

6
Swift enum พร้อมตัวเริ่มต้นที่กำหนดเองจะสูญเสียค่าเริ่มต้น rawValue
ฉันได้พยายามแก้ไขปัญหานี้ให้เป็นรูปแบบที่ง่ายที่สุดดังต่อไปนี้ ติดตั้ง Xcode เวอร์ชัน 6.1.1 (6A2008a) enum ที่กำหนดไว้ในMyEnum.swift: internal enum MyEnum: Int { case Zero = 0, One, Two } extension MyEnum { init?(string: String) { switch string.lowercaseString { case "zero": self = .Zero case "one": self = .One case "two": self = .Two default: return nil } } } …
97 swift  enums 

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