xcode14.2学习笔记 swift5开发macos网络程序笔记

news2024/11/16 1:31:07

1.  .frame(width: 200.0, height: 200.0) 控制默认窗体大小

2.去除Metal API Validation提示

  Product->Scheme > Edit Scheme... > Run > Diagnostics > Metal API Validation.

3.本地安装git依赖资源(可能有的时候并不好用,显示不出自己的工程目录)

        A 下载好github上的发布版,源码版不一样好用(请确认Swift包目录中包含Package.swift文件)

        B Add Local...选中该目录

       C 在项目目标(TARGETS)的Frameworks,Libraries and Embedded Content 标签中嵌入该包(有时修会不好用,可能还是跟GWF有关)

 4.给xcode增加本地代理  , 安装Proxifier代理,注册机y9nhjy/Proxifier-Keygen: Proxifier注册机 (github.com)

前题你要有本地安装clash代理(这个就不详细说了)

打开Proxifier, 点击左上角的代理 新增加本地代理 127.0.0.1  端口7890 选中socket5 

然后再进入xcode,就可以 正常使用github上的开源资源了

5. 推荐3个源  

GitHub - SwiftyJSON/SwiftyJSON: The better way to deal with JSON data in Swift.The better way to deal with JSON data in Swift. Contribute to SwiftyJSON/SwiftyJSON development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/SwiftyJSON/SwiftyJSON.git

GitHub - Moya/Moya: Network abstraction layer written in Swift.Network abstraction layer written in Swift. Contribute to Moya/Moya development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/Moya/Moya.gitGitHub - alibaba/HandyJSON: A handy swift json-object serialization/deserialization libraryA handy swift json-object serialization/deserialization library - alibaba/HandyJSONicon-default.png?t=N7T8https://github.com/alibaba/HandyJSON.git

6. 模拟登陆成功后,进入主页面:新建工程

    新建AuthManager.swift

import Foundation
import SwiftUI
class AuthManager: ObservableObject {
    
    @Published var isLoggedIn = false // 用户登录状态

    func login() {
        // 在这里执行登录逻辑,例如验证用户凭据
        // 登录成功后将 isLoggedIn 设置为 true
        isLoggedIn = true
    }
    
}

新建view LoginView.swift

import SwiftUI

struct LoginView: View {
    @ObservedObject var authManager: AuthManager
    @State private var account: String = ""
    @State private var password: String = ""
    var body: some View {
        VStack{
            Form {
                    Section(header: Text("请登陆")) {
                        TextField("账号", text: $account)
                             
                        TextField("密码", text: $password)
                    }.padding(10)
                    Section {
                        Button("登陆") {
                             authManager.isLoggedIn.toggle()
                           
                        }
                    }
                }
        }
    
      .frame(width: 200.0, height: 200.0)
    }
    
     
}

struct LoginView_Previews: PreviewProvider {
    static var previews: some View {
        LoginView(authManager: AuthManager())
    }
}

   修改你的起动文件名.swift  ,我的是test_11App

import SwiftUI

@main
struct test_11App: App {
    @StateObject var authManager = AuthManager()
     
    var body: some Scene {
        WindowGroup {
            if authManager.isLoggedIn{
                ContentView()
            }
            else{
                LoginView(authManager: authManager)
            }
        }
    }
}

  编译运行即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2043286.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

星露谷模组开发教程#6 烹饪和制造配方

首发于Enaium的个人博客 在上篇文章中我们添加了一个新的食物,但是这个食物并没有配方,所以我们今天来添加一个配方。 烹饪配方 我们在Data/CookingRecipes.json中可以看到所有的食物配方,所以我们需要修改这个配置文件来添加我们的食物配方…

基于Vue2使用x2js将JSON转换成XML、将XML转换成JSON

x2js源码地址GitHub - abdolence/x2js: x2js - XML to JSON and back for JavaScriptx2js - XML to JSON and back for JavaScript. Contribute to abdolence/x2js development by creating an account on GitHub.https://github.com/abdolence/x2js import x2js from x2js;//…

go语言后端开发学习(四) —— 在go项目中使用Zap日志库

一.前言 在之前的文章中我们已经介绍过如何使用logrus包来作为我们在gin框架中使用的日志中间件,而今天我们要介绍的就是我们如何在go项目中如何集成Zap来作为日志中间件 二.Zap的安装与快速使用 和安装其他第三方包没什么区别,我们下载Zap包只需要执…

Github Actions自动发布release

目录 说明正文1.设置仓库密钥2.打开仓库权限3.配置自动化文件4.写在最后 说明 GitHub Actions 是 GitHub 的持续集成服务,于2018年10月推出。通过Github Actions可以实现诸多自动化功能,比如自动打包,自动发布Release等等。除此之外&#xf…

实验10-3 递归计算Ackermenn函数

本题要求实现Ackermenn函数的计算,其函数定义如下: 函数接口定义: int Ack( int m, int n ); 其中m和n是用户传入的非负整数。函数Ack返回Ackermenn函数的相应值。题目保证输入输出都在长整型范围内。 输入样例: 2 3输出样例&am…

8 个最佳 Java IDE 和文本编辑器

从 2024 年使用的最佳 Java IDE 和代码编辑器中进行选择,并提高您的 Java 生产力。 Java 是世界上最流行的编程语言之一,于 1995 年首次推出,它确实践行了“编写一个,随处运行”的座右铭。该语言用途广泛,可用于构建从…

浅谈物理集中式数据中台架构在数据开发中的不足

在传统数据开发和生产领域,企业面临的问题主要源于数据规模的急剧增长,多源异构数据的不断扩张,以及数据消费端看数、用数的人员越来越多。初期,数据仓库的主要功能聚焦于支持经营仪表盘的视图构建,旨在为企业提供直观…

ubuntu:最新安装使用docker

前言 系统:ubuntu 22.04 desktop 目的:安装使用docker 安装小猫猫 没有安装包的,可以自己去瞅瞅,这里不提供下载方式 sudo dpkg -i ./cat-verge_1.7.5_amd64.deb 在应用里,打开这个软件,并开启系统猫猫 配…

单元训练08:外部中断的基本操作

蓝桥杯 小蜜蜂 单元训练08:外部中断的基本操作 #include "stc15f2k60s2.h"#define LED(x) \{ \P0 x; \P2 P2 & 0x1f | 0x80; \P2 & 0x1f; \}#define L1 0xFE; // 定义L1亮…

SpringBoot集成MyBatis和FlyWay

一、什么是FlyWay 一个开源的数据库迁移工具,用于管理和执行数据库结构的版本变更。通俗来说,它帮助开发者跟踪和应用数据库中的更改,比如表的创建、列的修改等。主要的功能为: 数据库版本控制: Flyway 使用一组迁移…

硬件I2C和软件I2C(模拟I2C)的区别

硬件I2C和软件I2C是两种不同的实现I2C(Inter-Integrated Circuit,集成电路间)通信协议的方式,它们在实现方式、性能特点以及应用场景上存在显著差异。 一、实现方式 硬件I2C:通过专门的硬件电路实现,这些…

泛交通领域的可视化大屏作品欣赏,各个都相当惊艳。

各位新老朋友大家好,本次给大家带来泛交通领域的可视化大屏,供大家鉴赏。 泛交通领域是指综合利用各种交通方式和资源,提供全方位、多元化的出行选择和服务的交通体系。 它包括以下几个方面: 1. 公共交通:包括地铁、…

花钱买不到系列之—linux系统调用

关于系统调用是什么,为什么用系统调用? 也是通过生活的例子来说明白。 我们生活中有一种东西叫银行,银行是不是有存钱的仓库对不对?好银行有存钱的仓库,银行有桌椅板凳啊,银行还有电脑,设备啊,…

文华财经期货DK多空提示指标源码

N1:40; A:(COHL)/4; AA0:MA(A,N1),LINETHICK3;//中 MA1:MA(CLOSE,5), NODRAW; MA2:MA(CLOSE,10), NODRAW; MA3:MA(C,60), NODRAW,LINETHICK1; 转折线:MA3, NODRAW,COLORCYAN; 顺势线:MA(CLOSE,10), NODRAW; MA20:MA(C,20), NODRAW; MA30:MA(C,30), NODRAW; ZD:MA3>…

网络 基础

目录 1、协议: 2、OSI 七层 模型: 3、TCP/IP 五层 / 四层 协议 3.1、为什么要有TCP / IP 协议? 3.1.1、主机之间变远产生的问题: 3.1.2、TCP/IP协议于操作系统的关系 4、局域网 4.1、Mac 4.1.1 在Linux内使用指令 …

leetCode - - - 哈希表

目录 1.模拟行走机器人(LeetCode 874) 2.数组的度(LeetCode 697) 3.子域名访问次数(LeetCode 811) 4.字母异位词分组(LeetCode 49) 5.小结 1.常见的哈希表实现 2.遍历Map 1.模…

基于Java中的SSM框架实现医院收费系统项目【项目源码+论文说明】计算机毕业设计

基于Java中的SSM框架实现医院收费系统演示 摘要 随着医疗体制改革的不断深入,医院收费系统成为医院信息化建设的重点内容。医院收费系统是利用计算机、网络技术和数据库技术,实现病人在医疗机构的诊疗信息的电子化存储、传递和分析,从而提高…

[Meachines] [Medium] Mango PHP弱比较绕过+MongoDB注入+TRP00F自动化权限提升+JJS权限提升

信息收集 IP AddressOpening Ports10.10.10.162TCP:22,80,443 $ nmap -p- 10.10.10.162 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) | ssh-host…

<数据集>快递识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:5382张 标注数量(xml文件个数):5382 标注数量(txt文件个数):5382 标注类别数:1 标注类别名称:[Box-Packet] 序号类别名称图片数框数1Box-Packet53828965 使用标注工…

8.15-配置mysql5.7环境+使用python管理数据库+使用中间件mycat配置读写分离

一、配置mysql5.7的环境 1.基础配置 # 将mysql5.7的包拖入xshell [rootmysql_5 ~]# ls anaconda-ks.cfg mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz ​ # 解压 [rootmysql_5 ~]# tar -xf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz ​ # 备份文件 [rootmysql_5 ~]# cp…