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

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

5
ฉันจะจัดการกับการเลิกใช้การอนุมาน @objc ด้วย #selector () ใน Swift 4 ได้อย่างไร
ฉันกำลังพยายามแปลงซอร์สโค้ดของโปรเจ็กต์จาก Swift 3 เป็น Swift 4 คำเตือน Xcode หนึ่งคำเตือนที่ให้ฉันเป็นเรื่องเกี่ยวกับตัวเลือกของฉัน ตัวอย่างเช่นฉันเพิ่มเป้าหมายลงในปุ่มโดยใช้ตัวเลือกปกติดังนี้: button.addTarget(self, action: #selector(self.myAction), for: .touchUpInside) นี่คือคำเตือนที่แสดง: อาร์กิวเมนต์ของ '#selector' หมายถึงวิธีอินสแตนซ์ 'myAction ()' ใน 'ViewController' ที่ขึ้นอยู่กับการอนุมานแอตทริบิวต์ '@objc' ที่เลิกใช้งานใน Swift 4 เพิ่ม '@objc' เพื่อแสดงวิธีการอินสแตนซ์นี้กับ Objective-C ตอนนี้การกดปุ่มFixข้อความแสดงข้อผิดพลาดทำกับฟังก์ชันของฉัน: // before func myAction() { /* ... */ } // after @objc func myAction() { /* ... …
131 swift  xcode  swift4 


11
ฉลากหลายสายของ iOS ในตัวสร้างอินเทอร์เฟซ
ฉันจะสร้างมัลติไลน์UILabelในตัวสร้างอินเทอร์เฟซสำหรับ iOS ได้อย่างไร ฉันลองแล้วUITextViewแต่มันไม่ค่อยตรงกับความต้องการของฉัน ฉันจะเพิ่มหลายบรรทัด (ข้อความ) ในฉลากได้อย่างไร


17
ไม่พบการนำเข้า Project-Swift.h ไปยังคลาส Objective-C …
ฉันมีโปรเจ็กต์ที่เริ่มต้นใน Objective-C และฉันกำลังพยายามนำเข้าโค้ด Swift บางส่วนไปยังไฟล์คลาสเดียวกันกับที่ฉันได้เขียน Objective-C ไว้ก่อนหน้านี้ ฉันได้ปรึกษาเอกสารของ Apple เกี่ยวกับการใช้ Swift และ Objective-C ในโครงการเดียวกันรวมถึงคำถาม SO เช่นนี้ แต่ก็ยังไม่มีประโยชน์: ฉันยังคงได้รับไฟล์ไม่พบข้อผิดพลาดหลังจากใส่#import "NewTestApp-Swift.h"( NewTestAppคือชื่อของผลิตภัณฑ์ และโมดูล) นี่คือสิ่งที่ฉันได้ทำไปแล้ว: ในDefine ModulesเลือกYESสำหรับแอป ตรวจสอบให้แน่ใจว่าชื่อโมดูลผลิตภัณฑ์ไม่มีที่ว่าง (ดูภาพหน้าจอด้านล่างคำถาม) ผมได้ลองใช้#import "NewTestApp-Swift.h"ภายในViewController.m, ViewController.hและAppDelegate.mแต่ไม่มีพวกเขาได้ทำงาน ฉันทำอะไรไม่ถูกต้องอีก? ขอบคุณสำหรับความช่วยเหลือของคุณ. ภาพหน้าจอของการตั้งค่า: ข้อผิดพลาดที่ฉันพบในปัจจุบัน:
131 ios  objective-c  xcode  swift  xcode6 

25
จะลบเส้นขอบของ navigationBar อย่างรวดเร็วได้อย่างไร?
ฉันพยายามลบเส้นขอบ navigationBars โดยไม่มีโชค ฉันได้ค้นคว้าและดูเหมือนว่าผู้คนจะบอกให้ตั้งค่า shadowImage และ BackgroundImage เป็นศูนย์ แต่สิ่งนี้ไม่ได้ผลในกรณีของฉัน รหัสของฉัน self.navigationController?.navigationBar.barTintColor = UIColor(rgba: "#4a5866") self.navigationController?.navigationBar.setBackgroundImage(UIImage(named: ""), forBarMetrics: UIBarMetrics.Default) self.navigationController?.navigationBar.shadowImage = UIImage(named: "") ภาพประกอบ:

19
ทำ UIButton โดยทางโปรแกรมใน Swift
ฉันกำลังพยายามสร้าง UI ของโปรแกรม ฉันจะทำให้การทำงานนี้ทำงานได้อย่างไร ฉันกำลังพัฒนาด้วยสวิฟท์ รหัสใน viewDidLoad: override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let myFirstLabel = UILabel() let myFirstButton = UIButton() myFirstLabel.text = "I made a label on the screen #toogood4you" myFirstLabel.font = UIFont(name: "MarkerFelt-Thin", size: 45) myFirstLabel.textColor …
130 ios  uibutton  swift 

10
วิธีเพิ่มช่องว่างชั้นนำเพื่อดูเพิ่มใน UIStackView
นี่คือการตั้งค่าของฉัน: ฉันมีUIScrollViewขอบที่นำหน้าด้านบนและขอบทดลองตั้งค่าเป็น 0 ข้างในนี้ฉันเพิ่มUIStackViewด้วยข้อ จำกัด นี้: stackView.centerYAnchor.constraintEqualToAnchor(selectedContactsScrollView.centerYAnchor).active = true stackView.leadingAnchor.constraintEqualToAnchor(selectedContactsScrollView.leadingAnchor).active = true ภายในมุมมองสแต็กฉันเพิ่มมุมมองบางส่วน ปัญหาของฉันคือเนื่องจากข้อ จำกัด มุมมองแรกที่เพิ่มในมุมมองสแต็กจะมีขอบนำหน้า = 0 ฉันจะเพิ่มช่องว่างภายในมุมมองแรกได้อย่างไร โดยไม่ต้องปรับข้อ จำกัด มุมมองการเลื่อน

5
วิธีการส่งผ่านวัตถุด้วย NSNotificationCenter
ฉันกำลังพยายามส่งวัตถุจากตัวแทนแอพของฉันไปยังผู้รับการแจ้งเตือนในชั้นเรียนอื่น messageTotalฉันต้องการที่จะผ่านจำนวนเต็ม ตอนนี้ฉันมี: ในผู้รับ: - (void) receiveTestNotification:(NSNotification *) notification { if ([[notification name] isEqualToString:@"TestNotification"]) NSLog (@"Successfully received the test notification!"); } - (void)viewDidLoad { [super viewDidLoad]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dismissSheet) name:UIApplicationWillResignActiveNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveTestNotification:) name:@"eRXReceived" object:nil]; ในชั้นเรียนที่ทำการแจ้งเตือน: [UIApplication sharedApplication].applicationIconBadgeNumber = messageTotal; [[NSNotificationCenter defaultCenter] postNotificationName:@"eRXReceived" object:self]; แต่ฉันต้องการส่งต่อวัตถุmessageTotalไปยังคลาสอื่น

18
หนึ่งจะสร้างตัวเลขสุ่มระหว่างช่วงสำหรับ arc4random_uniform () ได้อย่างไร
ดังนั้นเป้าหมายของฉันในโค้ดบิตนี้คือการสุ่มทอยลูกเต๋าสองลูกและอย่างที่เราทุกคนรู้ว่าการตายปกติของคุณมีเพียง 6 ด้านดังนั้นฉันจึงนำเข้า Foundation เพื่อเข้าถึง arc4random_uniform (UInt32) ฉันพยายามใช้ช่วงของ (1..7) เพื่อหลีกเลี่ยงการสุ่มรับ 0 อย่างไรก็ตามมันส่งคืนข้อผิดพลาดที่ฉันไม่ชอบมากเกินไป ฉันพยายามทำสิ่งนี้: dice1 = arc4random_uniform(UInt32(1..7)) อย่างไรก็ตามที่กลับมา ไม่พบโอเวอร์โหลดสำหรับ "init" ที่ยอมรับอาร์กิวเมนต์ที่ให้มา ฉันหวังว่านี่จะเป็นข้อมูลที่เพียงพอสำหรับคุณที่น่าทึ่งที่จะช่วยฉัน :) โปรดทราบว่าฉันกำลังทำสิ่งนี้ในสนามเด็กเล่นเพื่อฝึกความรวดเร็ว ฉันไม่จำเป็นต้องเรียนรู้วิธีการทำสิ่งนี้ เป็นเพียงแค่ฉันซ่อมแซมก่อนที่จะเริ่มสร้างแอพจริง: D //imports random number function import Foundation //creates data storage for dice roll var dice1: UInt32 = 0 var dice2: UInt32 = 0 //counter variable …
129 range  swift  arc4random 

14
การลบล้างคุณสมบัติระดับซุปเปอร์คลาสด้วยประเภทต่างๆใน Swift
ใน Swift มีใครสามารถอธิบายวิธีการแทนที่คุณสมบัติในซูเปอร์คลาสด้วยออบเจ็กต์อื่นที่ย่อยจากคุณสมบัติดั้งเดิมได้หรือไม่ ยกตัวอย่างง่ายๆนี้: class Chassis {} class RacingChassis : Chassis {} class Car { let chassis = Chassis() } class RaceCar: Car { override let chassis = RacingChassis() //Error here } สิ่งนี้ทำให้เกิดข้อผิดพลาด: Cannot override with a stored property 'chassis' หากฉันมีแชสซีเป็น 'var' แทนฉันจะได้รับข้อผิดพลาด: Cannot override mutable property 'chassis' of type …
129 swift 

5
เลือกไม่ใช้ UISceneDelegate / SwiftUI บน iOS
ฉันกำลังใช้ Xcode 11 Beta 5 ในแอปพลิเคชันของฉันมันทำงานได้ดีบน iOS 12 และต่ำกว่า อย่างไรก็ตามใน iOS 13 ดูเหมือนว่าจะใช้UISceneโดยค่าเริ่มต้น นี่ทำให้แอปของฉันไม่ทำอะไรเลย เมื่อแอปเปิดตัวเมื่อติดตั้งใหม่จะมีข้อกำหนดและเงื่อนไขที่ผู้ใช้ต้องยอมรับ หลังจากตกลงแล้วให้ไปที่หน้าจอโหลดซึ่งจะนำพวกเขาไปยังมุมมองหลัก ในภาพหน้าจอที่ฉันโพสต์มุมมองด้านหลังภาพปัจจุบันเบื้องหน้าคือหน้าจอการโหลดสแปลช เราจะพิจารณาเพิ่มการรองรับฉากหลายมุมมองตลอดทั้งแอปพลิเคชันเร็ว ๆ นี้ แต่ตอนนี้เรามีสิ่งที่มีลำดับความสำคัญสูงกว่าที่เราต้องดำเนินการ https://imgur.com/i0qLhAL "รองรับหลายหน้าต่าง" ถูกปิดใช้งานแล้วในการตั้งค่าทั่วไปของเป้าหมายของแอป นอกจากนี้ฉันได้ตั้งค่า Enable Multiple Windows เป็น NO ในไฟล์ info.plist จนถึงขณะนี้ไม่มีอะไรได้ผลจริงๆ โดยทั่วไปฉันต้องการเลือกไม่ / ปิดการใช้งานหลาย ๆ หน้าต่างและ UIScene / SwiftUI เพื่อกู้คืนพฤติกรรมดั้งเดิมใน iOS 10-12 เป็นไปได้ไหมใน iOS 13 หรือเราต้องอัปเดต? อัปเดต: นี่คือภาพหน้าจอของลำดับชั้นการแก้ไขข้อบกพร่องของมุมมอง …
129 swift  xcode  swiftui  ios13 

9
ไม่รองรับ Xcode iOS 8 Keyboard ประเภท
ฉันมีUITextFieldCtrl-dragged เหมือน@Outletใน.swiftชั้นเรียนของฉัน ตอนนี้viewDidLoadฉันใช้รหัสนี้ self.myTextField.keyboardType = UIKeyboardType.DecimalPad เมื่อฉันเปิดแอปของฉันในเครื่องจำลองและคลิกที่UITextFieldฉันได้รับบันทึกนี้ Can't find keyplane that supports type 8 for keyboard iPhone-Portrait-DecimalPad; using 2617181025_Portrait_iPhone-Simple-Pad_Default ฉันไม่มีความผิดพลาดหรือบางอย่าง แต่แป้นพิมพ์ไม่ปรากฏขึ้น ฉันพยายามตั้งค่าจากStoryboardมันเหมือนกัน ฉันยังสังเกตเห็นว่าเมื่อใดก็ตามที่ฉันคลิกที่แป้นพิมพ์ใด ๆ UITextFieldจะไม่ปรากฏขึ้น (แต่ไม่มีการบันทึกจะแสดงสำหรับแป้นพิมพ์เริ่มต้น ) ฉันใช้ Xcode-Beta 3 ทุกคนประสบปัญหานี้หรือไม่
128 ios  xcode  keyboard  swift  ios8 

14
จัดเรียงพจนานุกรมตามคีย์
ฉันต้องการจัดเรียงพจนานุกรมใน Swift ฉันมีพจนานุกรมเช่น: "A" => Array[] "Z" => Array[] "D" => Array[] ฯลฯ อยากให้เป็นยังไง "A" => Array[] "D" => Array[] "Z" => Array[] เป็นต้น ฉันได้ลองวิธีแก้ปัญหามากมายใน SO แต่ไม่มีใครได้ผลสำหรับฉัน ฉันใช้ XCode6 Beta 5 และมีบางส่วนให้ข้อผิดพลาดของคอมไพเลอร์และโซลูชันบางอย่างให้ข้อยกเว้น ดังนั้นทุกคนที่สามารถโพสต์สำเนาการจัดเรียงพจนานุกรมที่ใช้งานได้

12
วิธีตรวจสอบว่ามีไฟล์อยู่ในไดเร็กทอรี Documents ใน Swift หรือไม่
จะตรวจสอบได้อย่างไรว่ามีไฟล์อยู่ในไดเร็กทอรี Documents ในSwift? ฉันใช้[ .writeFilePath ]วิธีบันทึกภาพลงในไดเร็กทอรี Documents และต้องการโหลดทุกครั้งที่เปิดแอป แต่ฉันมีภาพเริ่มต้นหากไม่มีภาพที่บันทึกไว้ แต่ฉันไม่สามารถเข้าใจวิธีใช้[ func fileExistsAtPath(_:) ]ฟังก์ชันนี้ได้ ใครช่วยยกตัวอย่างการใช้ฟังก์ชันที่มีพา ธ อาร์กิวเมนต์ส่งเข้ามาได้ ฉันเชื่อว่าฉันไม่จำเป็นต้องวางโค้ดใด ๆ ลงไปในนั้นเนื่องจากเป็นคำถามทั่วไป ความช่วยเหลือใด ๆ จะได้รับการชื่นชมมาก ไชโย
128 ios  xcode  swift 

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