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

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


23
ตรวจสอบสตริงว่าเป็นศูนย์และว่างเปล่า
มีวิธีตรวจสอบสตริงสำหรับnilและ""ใน Swift หรือไม่? ใน Rails ฉันสามารถใช้blank()เพื่อตรวจสอบ ขณะนี้ฉันมีสิ่งนี้ แต่ดูเหมือนว่าจะมากเกินไป: if stringA? != nil { if !stringA!.isEmpty { ...blah blah } }

5
การลบล้างวิธีการในส่วนขยาย Swift
ฉันมักจะใส่เฉพาะความจำเป็น (คุณสมบัติที่เก็บไว้, ตัวเริ่มต้น) ลงในคำจำกัดความของคลาสของฉันและย้ายทุกสิ่งทุกอย่างไปเป็นของตัวเองextensionซึ่งเหมือนกับextensionบล็อกตรรกะที่ฉันจะจัดกลุ่มด้วย// MARK:เช่นกัน สำหรับคลาสย่อย UIView ฉันจะปิดท้ายด้วยส่วนขยายสำหรับสิ่งที่เกี่ยวข้องกับการจัดวางส่วนหนึ่งสำหรับการสมัครรับข้อมูลและจัดการเหตุการณ์และอื่น ๆ ในส่วนขยายเหล่านี้ผมอย่างหลีกเลี่ยงไม่ได้ที่จะแทนที่วิธี UIKit layoutSubviewsบางส่วนเช่น ฉันไม่เคยสังเกตเห็นปัญหาใด ๆ เกี่ยวกับแนวทางนี้ - จนถึงวันนี้ ใช้ลำดับชั้นของคลาสนี้เช่น: public class C: NSObject { public func method() { print("C") } } public class B: C { } extension B { override public func method() { print("B") } } public class A: …

8
Swift: Guard let vs if let
ฉันได้อ่านเกี่ยวกับ Optionals ใน Swift และฉันได้เห็นตัวอย่างที่if letใช้ตรวจสอบว่าตัวเลือกนั้นมีค่าหรือไม่และในกรณีที่เป็นเช่นนั้นให้ทำบางอย่างกับค่าที่ไม่ได้ใส่ อย่างไรก็ตามฉันได้เห็นว่าใน Swift 2.0 guard letมักใช้คำหลักเป็นส่วนใหญ่ ฉันสงสัยว่าif letถูกลบออกจาก Swift 2.0 หรือยังคงสามารถใช้งานได้ ฉันควรเปลี่ยนโปรแกรมของฉันที่มีif letถึงguard let?

6
ตัวอย่างพื้นฐานสำหรับการแชร์ข้อความหรือรูปภาพกับ UIActivityViewController ใน Swift
ฉันเริ่มการค้นหาโดยต้องการทราบว่าฉันจะแชร์กับแอปอื่น ๆ ใน iOS ได้อย่างไร ฉันค้นพบว่าสองวิธีที่สำคัญคือ UIActivityViewController UIDocumentInteractionController เปรียบเทียบวิธีเหล่านี้กับวิธีอื่นในคำตอบ SOนี้ บ่อยครั้งที่ฉันเรียนรู้แนวคิดใหม่ฉันชอบที่จะเห็นตัวอย่างพื้นฐานเพื่อให้ฉันเริ่มต้น เมื่อฉันได้รับการตั้งค่าพื้นฐานฉันสามารถแก้ไขได้ตามที่ฉันต้องการในภายหลัง มีคำถาม SO มากมายที่เกี่ยวข้องUIActivityViewControllerแต่ฉันไม่พบคำถามใด ๆ ที่ขอตัวอย่างง่ายๆ ตั้งแต่ฉันเพิ่งเรียนรู้วิธีการทำเช่นนี้ฉันจะให้คำตอบของฉันเองด้านล่าง อย่าลังเลที่จะเพิ่มสิ่งที่ดีกว่า (หรือรุ่น Objective-C)

18
วิธีการจัดเก็บคุณสมบัติใน Swift แบบเดียวกับที่ฉันมีใน Objective-C
ฉันกำลังเปลี่ยนแอปพลิเคชันจาก Objective-C เป็น Swift ซึ่งฉันมีสองสามประเภทที่มีคุณสมบัติที่จัดเก็บไว้เช่น: @interface UIView (MyCategory) - (void)alignToView:(UIView *)view alignment:(UIViewRelativeAlignment)alignment; - (UIView *)clone; @property (strong) PFObject *xo; @property (nonatomic) BOOL isAnimating; @end เนื่องจากส่วนขยาย Swift ไม่ยอมรับคุณสมบัติที่จัดเก็บไว้เช่นนี้ฉันจึงไม่รู้วิธีรักษาโครงสร้างเดียวกันกับรหัส Objc คุณสมบัติที่จัดเก็บมีความสำคัญมากสำหรับแอปของฉันและฉันเชื่อว่า Apple ต้องสร้างโซลูชันบางอย่างสำหรับการทำใน Swift ดังที่คุณจูพูดสิ่งที่ฉันกำลังมองหาคือการใช้วัตถุที่เกี่ยวข้องจริงๆดังนั้นฉันจึงทำ (ในบริบทอื่น): import Foundation import QuartzCore import ObjectiveC extension CALayer { var shapeLayer: CAShapeLayer? { get { return …

17
วิธีจดจำการปัดทั้ง 4 ทิศทาง
ฉันต้องใช้การปัดเพื่อจดจำท่าทางการปัดลงแล้วไปทางขวา แต่ใน UISwipeGestureRecognizer ที่รวดเร็วได้กำหนดทิศทางที่ถูกต้องไว้แล้ว .. และฉันไม่รู้ว่าจะทำอย่างไรเพื่อใช้ในทิศทางอื่น ..

11
stringByAppendingPathComponent ไม่พร้อมใช้งาน
แอพของฉันแชร์รูปภาพบน Instagram โดยจะบันทึกลงในไดเรกทอรีชั่วคราวก่อน: let writePath = NSTemporaryDirectory().stringByAppendingPathComponent("instagram.igo") มันกำลังทำงานอยู่แต่ไม่ทำงานบนSwift 1.2Swift 2.0 ข้อความแสดงข้อผิดพลาดที่ระบุคือ: stringByAppendingPathComponent ไม่พร้อมใช้งาน: ใช้ URLByAppendingPathComponent บน NSURL แทน
132 ios  swift  swift2 

6
ทำไมต้องใช้คีย์เวิร์ดเพื่อความสะดวกใน Swift
เนื่องจาก Swift รองรับวิธีการและตัวเริ่มต้นทำงานมากเกินไปคุณสามารถใส่หลาย ๆ ตัวinitควบคู่กันและใช้ตามที่คุณคิดว่าสะดวก: class Person { var name:String init(name: String) { self.name = name } init() { self.name = "John" } } ทำไมconvenienceคำหลักถึงมีอยู่? อะไรทำให้สิ่งต่อไปนี้ดีขึ้นอย่างมาก class Person { var name:String init(name: String) { self.name = name } convenience init() { self.init(name: "John") } }

9
วิธีเล่นวิดีโอท้องถิ่นด้วย Swift
ฉันมีmp4ไฟล์วิดีโอสั้น ๆที่ฉันได้เพิ่มลงในโปรเจ็กต์ Xcode6 Beta ปัจจุบันของฉัน ฉันต้องการเล่นวิดีโอในแอปของฉัน หลังจากค้นหาไปหลายชั่วโมงฉันไม่พบสิ่งที่เป็นประโยชน์จากระยะไกล มีวิธีที่จะทำให้มันสำเร็จด้วย Swift หรือคุณต้องใช้ Objective-C? ฉันจะชี้ไปในทิศทางที่ถูกต้องได้หรือไม่? ฉันไม่สามารถเป็นคนเดียวที่สงสัยเรื่องนี้

7
ซ่อนรหัสผ่านด้วย“ •••••••” ในช่องข้อความ
ในแอพของฉันมีฟิลด์ข้อความที่ผู้ใช้ต้องใส่คือรหัสผ่านและฉันต้องการให้เมื่อเขาป้อนอักขระมันจะเปลี่ยนเป็น '•' ฉันจะทำสิ่งนี้ได้อย่างไร?
132 swift  passwords 

12
จะรับรหัสภาษาปัจจุบันด้วย Swift ได้อย่างไร
ฉันต้องการรับรหัสภาษาของอุปกรณ์ (en, es ... ) ในแอพของฉันที่เขียนด้วย Swift ได้อย่างไร? ฉันกำลังลองสิ่งนี้: var preferredLanguages : NSLocale! let pre = preferredLanguages.displayNameForKey(NSLocaleIdentifier, value: preferredLanguages) แต่สิ่งนี้กลับเป็นศูนย์
132 swift  nslocale 

17
วัดเวลาที่ผ่านไปใน Swift
เราจะวัดเวลาที่ผ่านไปสำหรับการเรียกใช้ฟังก์ชันใน Swift ได้อย่างไร? ฉันพยายามแสดงเวลาที่ผ่านไปดังนี้: "เวลาที่ผ่านไปคือ. 05 วินาที" เห็นว่าใน Javaเราสามารถใช้ System.nanoTime () ได้มีวิธีการที่เทียบเท่าใน Swift เพื่อทำสิ่งนี้ให้สำเร็จหรือไม่? โปรดดูโปรแกรมตัวอย่าง: func isPrime(var number:Int) ->Bool { var i = 0; for i=2; i<number; i++ { if(number % i == 0 && i != 0) { return false; } } return true; } var number = 5915587277; …

13
รับความสูงของแถบนำทางโดยทางโปรแกรม
ฉันรู้ว่าการมีอยู่ของตัวควบคุมมุมมองเพิ่มเติม (แถบการนำทาง) ผลัก UIView ลงตามความสูง ฉันก็รู้ว่าความสูงนี้ = 44px [self.view].frame.origin.y = 0ฉันได้ค้นพบว่าการผลักดันลงนี้รักษา ดังนั้นฉันจะกำหนดความสูงของแถบนำทางได้อย่างไรนอกเหนือจากการตั้งค่าเป็นค่าคงที่ได้อย่างไร หรือรุ่นที่สั้นกว่าฉันจะทราบได้อย่างไรว่า UIView ของฉันแสดงพร้อมแถบนำทางด้านบน หลอดไฟเริ่มเข้ามา น่าเสียดายที่ฉันไม่ได้ค้นพบวิธีที่เหมือนกันในการแก้ไขปัญหาดังที่อธิบายไว้ด้านล่าง ฉันเชื่อว่าปัญหาทั้งหมดของฉันมุ่งเน้นไปที่งานรับอัตโนมัติของฉัน และเหตุผลที่ฉันได้ข้อสรุปว่ามีอาการเดียวกันอยู่โดยมีหรือไม่มี UIWebView และอาการนั้นก็คือทุกอย่างนั้นมีสีพีชสำหรับรูปคน สำหรับแนวนอน UIButton ส่วนใหญ่ที่อยู่ด้านล่างจะปรากฏขึ้นด้านหลัง TabBar ตัวอย่างเช่นฉันมี UIView หนึ่งรายการจากบนลงล่าง: UIView - ทั้งชุดสปริง (ตัวพิมพ์ดีฟอลต์) และไม่มี struts UIScrollView - ถ้าฉันตั้งค่าสปริงทั้งสองและล้างทุกอย่างอื่น (เช่น UIView) UIButton จะบุกรุกวัตถุบนเหนือมันทันที หากฉันล้างทุกอย่าง UIButton จะใช้ได้ แต่สิ่งที่ซ่อนอยู่ด้านบนสุดด้านหลัง StatusBar การตั้งค่าเฉพาะ strut ด้านบน UIButton …

22
Swift - การแปลงจำนวนเต็มเป็นชั่วโมง / นาที / วินาที
ฉันมี (บ้าง?) คำถามพื้นฐานเกี่ยวกับการแปลงเวลาในสวิฟท์ ฉันมีจำนวนเต็มที่ฉันต้องการแปลงเป็นชั่วโมง / นาที / วินาที ตัวอย่าง: Int = 27005จะให้ฉัน: 7 Hours 30 Minutes 5 Seconds ฉันรู้วิธีการทำเช่นนี้ใน PHP แต่อนิจจาสวิฟท์ไม่ใช่ PHP :-) เคล็ดลับใด ๆ เกี่ยวกับวิธีที่ฉันสามารถบรรลุสิ่งนี้ได้อย่างรวดเร็วจะเป็นเรื่องที่ยอดเยี่ยม! ขอบคุณล่วงหน้า!
131 ios  swift 

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