Swift to bezpieczny, szybki i ekspresyjny język programowania ogólnego przeznaczenia opracowany przez Apple Inc. dla platform i Linux. Swift jest źródłem open. Użyj tagu tylko dla pytań dotyczących funkcji językowych lub wymagających kodu w Swift. Użyj tagów [iOS], [iPados], [MacOS], [Watch-OS], [TVOS], [Swiftui], [Cocoa-Touch] i [Cocoa] dla (język-agnostyczne) pytania o platformach lub ramy.
Mam tableView z zaimplementowanym searchBar. Na górze mam przycisk, który powinien open searchBar with keyboard. Oto jak to powinno wyglądać:
Tak więc, kiedy user tap on this button, to should open the searchBar and user can start typing something. Oto mój search methods:
func searchBar(_ searc....
26 styczeń 2022, 15:03
Jeśli coś kupię i sprawdzę dowód zakupu, mogę uzyskać zakodowaną wartość w ten sposób:
if let appStoreReceiptURL = Bundle.main.appStoreReceiptURL,
FileManager.default.fileExists(atPath: appStoreReceiptURL.path) {
do {
let receiptData = try Data(contentsOf: ap....
26 styczeń 2022, 12:44
Przesłałem obraz za pomocą almofire i jest on przesyłany na właściwą ścieżkę, której wymagam.
Jednak muszę uzyskać niektóre odpowiedzi, które są w moim kodzie PHP backendu do mojego szybkiego, takie jak filepath.
Obraz, który sprawi, że moje pytanie będzie bardziej przejrzyste i precyzyjne o to, co ....
26 styczeń 2022, 12:30
Ten kod dobrze się kompiluje w Xcode 12.5.1 i 13
private func maskOtherLocalAccount(number: String?) -> String {
guard let number = number, number.count > 5 else { return number ?? "-"}
}
Ale w Xcode 12.4 daje ten błąd kompilacji:
Variable declared in 'guard' condition is not usable in its body....
Mam 15 etykiet w moim Storyboard są to tylko teksty, również ustawione ze scenorysu, Chcę je stylizować, ale programowo, Dlatego muszę utworzyć 15 IBOutlets w moim ViewController, zastanawiam się, czy jest inny sposób na zrobienie tego, bez 15 IBOutlets, czy można utworzyć 1 IBOutlet i dołączyć je w....
Chcę przekonwertować beforeDataSet na afterDataSet w Swift. Czy możesz mi powiedzieć, jak to przekonwertować?
struct BeforeData {
var value: Int
var date: Date
}
struct AfterData {
var sumValue: Int
var dateString: String
}
let beforeDataSet = [
BeforeData(value: 100, date: da....
26 styczeń 2022, 03:20
1
Pomiar API w języku Swift (ignoruj ustawienia regionalne) podczas formatowania danych wyjściowych
Mam funkcję konwersji, która zwraca pomiar użytkownikowi. To pozwala mi ukrywać się między różnymi jednostkami. Problem polega na tym, że gdy wypisuję wartość za pomocą sformatowanej funkcji, zawsze wyświetla się ona jako ft, ponieważ moje ustawienia regionalne są w ten sposób. Jak mogę się upewn....
Próbuję zrobić podział linii w opisie mojej ikony i próbowałem z /n i zaznaczeniem opcji wielu linii w konstruktorze interfejsu.
Aqui es donde saco los datos de mi Icon
Należy zauważyć, że moja ikona to CollectionViewCell, która jest generowana wewnątrz tableViewCell:
extension MiniAppsShorcuts : ....
25 styczeń 2022, 20:51
Muszę to zrobić Wymień, ale nie wiem jak się zaczyna
"Zamień domyślny init AssessmentConfiguration na init przy użyciu wartości plist"
Muszę użyć propertyList(from:options:format:), ale nie rozumiem, jak to zrobić.
var configuration: AssessmentConfiguration = AssessmentConfiguration(
outputFile:....
Mój pakiet Swift UnsplashSwiftUI ma widok o nazwie UnsplashRandom, który używa obiektu StateObject do asynchronicznego pobierania danych z UnsplashApi. Jeśli jednak zaimplementujesz widok dwa razy na tej samej stronie, załadują ten sam obraz, mimo że powinny być różne.
Wypróbowałem również Observed....
25 styczeń 2022, 19:53
Mam kilka struktur reprezentujących lokalizacje na Ziemi, które reprezentują prostą lokalizację lat/lon (Point2D), lat/lon/ wysokość lokalizacja (Point3D) i nazwana lokalizacja, taka jak lotnisko nazwa/lat/lon/wysokość lokalizacja (Airport).
struct Point2D {
var lat: Double
var lon: Double
}
s....
Myślę o tym godzinami: powiedzmy, że masz ogólną grę. Gra może mieć graczy i metodę, która ustala wynik. Można to zrobić za pomocą protokołu:
protocol Game {
var players: [Player] {get set}
func setScore (for player: Player, value: Int)
func sendSomeMessage(message: String)
}
Mogę te....
25 styczeń 2022, 19:14
Problem
Mam niestandardowy UIView, który zawiera podwidok obrazu i zaznaczenia (obramowania). Chcę móc dodać ten niestandardowy UIView jako widok podrzędny większego pustego widoku. Oto haczyk, większy pusty widok musi przyciąć wszystkie podwidoki do swoich granic (clipToBounds). Jednak użytkowni....
Mam początkowo UIStackView z 4 przyciskami. Jeśli muszę później zamienić ostatni przycisk na nowy lub wrócić do przycisku początkowego, jak mogę to zrobić?
lazy var stackView: UIStackView = {
let sv = UIStackView()
sv.axis = .horizontal
sv.distribution = .fillEqually
sv.alignment = ....
25 styczeń 2022, 15:48
Trudno mi znaleźć lub wymyślić sposób, w jaki mogę przechowywać tekst textView. więc później mogę przekazać go z powrotem na serwer, jeśli zajdzie taka potrzeba.
Mam TextView wewnątrz CustomCell UITableViewCell. (Mam 2 sekcje w moim tableview, a w każdej sekcji znajduje się ta niestandardowa komór....
Próbuję znaleźć najbliższe punkty między punktem początkowym a końcowym.
Tablica punktów :
let pointsArray = [(10.0, 10.0), (70.0, 10.0), (10.0, 200.0), (70.0, 200.0), (73.0, 10.0), (133.0, 10.0), (73.0, 200.0), (133.0, 200.0), (135.5, 10.0), (195.5, 10.0), (135.5, 200.0), (195.5, 200.0), (198.5, 10....
Według mnie:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TransactionTableCell", for: indexPath) as! TransactionTableCell
let newItem = getTransactionsInSection(section: sect....
25 styczeń 2022, 09:08
Próbuję użyć klasy Swift z hackingswift.com, która odczytuje kody QR. Ten kod najwyraźniej był używany w przeszłości przez autorów tego forum, ale teraz nie działa w Swift 5.5. W wierszu pojawia się błąd „nie udało się przeanalizować wyrażenia, nieznany błąd”
view.layer.addSublayer(previewLaye....
Czy można zastąpić każdą spację, która jest tworzona przez naciśnięcie spacji innym znakiem, który w tym przypadku jest podkreśleniem, podczas gdy użytkownik wpisuje w polu tekstowym?
Znalazłem coś na temat
.replacingOccurrences(of: "", with: "_")
Ale nie wiem, jak zastosować go w czasie rzeczywist....
Mam UIImageView w UIScrollView, a obraz ma rozmiar powiedzmy 2000x3000. Mogę uszczypnąć, aby powiększyć i przeciągnąć, aby przesunąć ekran. (Obserwowałem ten film https://www.youtube.com/watch?v=0Tz0vI721c8 a>).
Moje pytanie brzmi, czy chcę programowo wyśrodkować wyświetlacz w punkcie obrazu (tj. ....
25 styczeń 2022, 04:49
Tworzę format przy użyciu SwiftUI, na którym użytkownik musi narysować podpis i nie wolno mu pozwolić na przejście do przodu, jeśli PKCanvasView jest pusty. Próbuję wyłączyć następny przycisk za pomocą: .disabled(pkCanvasView.drawing.bounds.isEmpty)ale ten warunek zawsze zwraca true, więc przycisk ....
Niedawno przeszedłem z używania AppDelegate do samego cyklu życia aplikacji SwiftUI. Ale w niektórych przypadkach, gdy moja aplikacja była w tle przez dłuższy czas (może nawet została zakończona przez system operacyjny w celu zwolnienia pamięci), nie wydaje się, aby wywoływana była metoda inicjaliz....
W poniższym kodzie próbuję zapisać motyw kolorów w UserDefaults przy użyciu opakowania SwiftUI @AppStorage. To, co chciałbym zrobić, to móc wywołać metodę, aby zapisać rawValue z wyliczenia ColorTheme, gdy segment jest stuknięty, na przykład, jeśli stuknięty jest segment System, chciałbym lubię za....
Wydaje się, że to powinno być trywialne i doprowadza mnie do szału. To jest moja deklaracja struct:
struct ThemePic: Identifiable {
let id: Int
let pic: String
}
A to jest funkcja z błędem kompilacji:
func themeChange(newEmojis: [String]) -> [ThemePic] {
var newTheme: [ThemePic]
v....
Aby wywołać żądanie HTTP za pomocą URLSession, najpierw muszę przekonwertować ciąg na URL, więc próbowałem wszystkiego, ale po prostu nie mogę przekonwertować tego fragmentu ciągu na URL(string: ). To jest ciąg: „http://api-aws-eu-qa-1.abc-cde.com/v1/car-types/manufacturer?page=0&pageSize=10&wa_key....
24 styczeń 2022, 18:46