小编Sha*_*jon的帖子

SwiftUI:什么是 @AppStorage 属性包装器

我曾经使用以下语句将重要的应用程序数据(如登录凭据)保存到 UserDefaults 中:

UserDefaults.standard.set("sample@email.com", forKey: "emailAddress")
Run Code Online (Sandbox Code Playgroud)

现在,我知道 SwiftUI 引入了新的属性包装器,称为:

@AppStorage

谁能解释一下新功能的工作原理?

ios swift userdefaults swiftui ios14

23
推荐指数
3
解决办法
7782
查看次数

SwiftUI 3 中的 .onAppear() 和 .task() 有什么区别?

看来我们现在可以在 iOS 15 中onAppear(action:)task(priority:action:)在 iOS 15 中执行相同的任务。但是,我找不到task(priority:action:)onAppear(action:). 有谁能解释一下吗?

swift swiftui

20
推荐指数
1
解决办法
8689
查看次数

如何在 SwiftUI 中使用网络调用的数据填充 TextFields?

我从 API 调用获取用户个人资料信息,并希望将现有数据(如姓名、性别等)填充到我的用户个人资料字段中。但是,我不知道如何分配sfullName的状态变量( )TextField。以下代码是完整表单视图的子视图。我在 上进行网络呼叫parent view .onAppear{}。这是我的代码:

import SwiftUI

struct FormPartOneView: View {
    @State var fullName: String = ""

    @ObservedObject var userProfile = UserProfileViewModel()

    var body: some View {
        GeometryReader { geometry in
            VStack {
                TextField("Full Name", text: self.$fullName)
                    .padding(.horizontal)
            }
            .font(.system(size: 13))
            .frame(width: geometry.size.width/1.2, height: 40)
            .overlay(
                RoundedRectangle(cornerRadius: 5)
                    .stroke(Color("Border2"), lineWidth: 1)
            )
            .onAppear {
                self.userProfile.fetchWithAF()
            }
        }
    }
}

struct FormPartOneView_Previews: PreviewProvider {
    static var previews: some View {
        FormPartOneView()
    }
} …
Run Code Online (Sandbox Code Playgroud)

swift swiftui

5
推荐指数
1
解决办法
481
查看次数

“tel://”链接在 iPhone 模拟器上不起作用

我有一个手机号码(孟加拉国号码)。我希望当我单击“紧急呼叫”按钮时,我的应用程序将带我到 iPhone 的默认电话应用程序进行呼叫。但是,我有两个按钮,分别称为“Call For Query”和“Emergency Call”。在第一个按钮中,我使用链接“https://google.com”,它非常好用。但不是带有手机号码的第二个按钮。当我按下第二个按钮时,它会出现以下错误:

无法打开 URL tel://+8801700000001: Error Domain=NSOSStatusErrorDomain Code=-10814 "(null)" UserInfo={_LSLine=247, _LSFunction=-[_LSDOpenClient openURL:options:completionHandler:]}

是不是因为 iPhone 模拟器中没有电话应用程序?

这是我的代码:

import SwiftUI

struct CallUsView: View {
    @State var callForEmergency: String = "+8801700000001"
    
    var body: some View {
        GeometryReader { geometry in
            ZStack {
                Image("App Background")
                    .resizable()
                    .aspectRatio(contentMode: .fit)
                    .offset(y: -geometry.size.height/3)
                VStack {
                    Button(action: {
                        if self.callForQuery != "" {
                            let mobileURL = "https://google.com"
                            guard let url = URL(string: mobileURL) else { return }
                            UIApplication.shared.open(url)
                        }
                    }) {
                        Image("Call For Query") …
Run Code Online (Sandbox Code Playgroud)

url tel ios swiftui

1
推荐指数
1
解决办法
1761
查看次数

标签 统计

swiftui ×4

swift ×3

ios ×2

ios14 ×1

tel ×1

url ×1

userdefaults ×1