首页 > 其他分享 >Apple开发者使用Github Copilot

Apple开发者使用Github Copilot

时间:2023-03-13 09:23:46浏览次数:60  
标签:BackupFileTests Github Apple Xcode BackupFile let Copilot wrapped

热烈欢迎,请直接点击!!!

进入博主App Store主页,下载使用各个作品!!!

注:博主将坚持每月上线一个新app!!!

但是等等,让我们尝试一些简单的事情

  • 在 Xcode 中打开一个 iOS 项目
  • 在 Xcode 项目的根文件夹中打开 VS Code
  • 并排排列两个应用程序窗口
  • 在 VS Code 和 Xcode 中打开同一个 Swift 文件
  • 在 VS Code 中开始输入一些 Swift 代码或者只是写一个 Swift 注释来表达你的意图
  • 副驾驶用一些在线代码发出提示音(ctrl-enter 打开替代视图)
  • 接受最有希望的变体并在 VS Code 中保存更改
  • Xcode 获取更改并更新其文件副本
  • 在 Xcode 中构建并运行项目
  • 有用!(好吧,可能不是每次都这样,它可能需要一些推动、重试和更正)。

这是一个例子

// 在 iOS 文件中备份包装结构的包装结构
VS Code 与 Xcode 并排
//
//  BackupFile.swift
//  BackupFile
//
//  Created by Rudolf Farkas on 21.05.22.
//
import Foundation

// a wrapper struct that backs up the wrapped struct in an iOS file
public struct BackupFile<Wrapped: Codable>: Codable {
    public let wrapped: Wrapped
    public init(wrapped: Wrapped) {
        self.wrapped = wrapped
    }
}

public extension FileManager {
    func backupFile<Wrapped: Codable>(at url: URL, with wrapped: Wrapped) throws {
        let backupFile = BackupFile(wrapped: wrapped)
        try backupFile.write(to: url)
    }

    func restoreFile<Wrapped: Codable>(at url: URL) throws -> Wrapped {
        let backupFile = try BackupFile<Wrapped>(from: url)
        return backupFile.wrapped
    }
}

public extension BackupFile {
    init(from url: URL) throws {
        let data = try Data(contentsOf: url)
        let decoder = JSONDecoder()
        self = try decoder.decode(BackupFile.self, from: data)
    }

    func write(to url: URL) throws {
        let encoder = JSONEncoder()
        let data = try encoder.encode(self)
        try data.write(to: url)
    }
}

 

// 用于测试 BackupFile 包装器的示例结构
//
//  BackupFileTests.swift
//  BackupFileTests
//
//  Created by Rudolf Farkas on 21.05.22.
//
@testable import BackupFile
import XCTest

class BackupFileTests: XCTestCase {
    override func setUpWithError() throws {}

    override func tearDownWithError() throws {}

    func test_BackupFile() throws {
        // a sample struct for use in testing the BackupFile wrapper
        struct Sample: Codable {
            let name: String
            let age: Int
        }

        let sample = Sample(name: "Rudolf", age: 42)

        let backupFile = BackupFile(wrapped: sample)
        let encoder = JSONEncoder()
        let data = try encoder.encode(backupFile)
        let decoder = JSONDecoder()
        let restoredBackupFile = try decoder.decode(BackupFile<Sample>.self, from: data)
        XCTAssertEqual(restoredBackupFile.wrapped.name, sample.name)
        XCTAssertEqual(restoredBackupFile.wrapped.age, sample.age)
    }
}
Test Suite 'All tests' started at 2022-05-22 15:28:43.735
Test Suite 'BackupFileTests.xctest' started at 2022-05-22 15:28:43.737
Test Suite 'BackupFileTests' started at 2022-05-22 15:28:43.737
Test Case '-[BackupFileTests.BackupFileTests test_BackupFile]' started.
Test Case '-[BackupFileTests.BackupFileTests test_BackupFile]' passed (0.005 seconds).
Test Suite 'BackupFileTests' passed at 2022-05-22 15:28:43.743.
     Executed 1 test, with 0 failures (0 unexpected) in 0.005 (0.006) seconds
Test Suite 'BackupFileTests.xctest' passed at 2022-05-22 15:28:43.744.
     Executed 1 test, with 0 failures (0 unexpected) in 0.005 (0.007) seconds
Test Suite 'All tests' passed at 2022-05-22 15:28:43.744.
     Executed 1 test, with 0 failures (0 unexpected) in 0.005 (0.009) seconds
let sample = Sample(姓名:“鲁道夫”,年龄:42)

结论

提示和技巧

  • 创建一个名为~/.xcode/.xcode_open_vscode_here的脚本:
#! /bin/bash
/usr/local/bin/code `pwd`
  • Xcode > Behaviors > Edit Behaviors…> Custom link the script to a keyboard shortcut,例如ctrl-shift-cmd-C
设置 Xcode 自定义行为(键盘快捷键)

标签:BackupFileTests,Github,Apple,Xcode,BackupFile,let,Copilot,wrapped
From: https://www.cnblogs.com/strengthen/p/17210192.html

相关文章

  • Apple Catching POJ - 2385
     有个人在2柯树之间来回,在1~T的时刻i时,其中一颗棵树会掉一个果子,规定只能掉头m次,问最多能获得多少果子  f[i][j]#include<iostream>#include<algorithm>......
  • Python 决定迁移到 GitHub
    Python已经决定迁移到GitHub,虽然有人公开说反对迁移到GitHub,但还是有很多人会在一定程度上使用GitHub,而且几位核心的开发者也倾向于选择GitHub。Python在很久之前为了......
  • 如何实现一个类似 Apple 网站的短信验证码登录组件 All In One
    如何实现一个类似Apple网站的短信验证码登录组件AllInOne支持短信,复制粘贴自动填充支持自动聚焦,自动校验输入完成,支持自动发起确认请求(无需手动点击确认按钮)......
  • 【812】github markdown, resize image
    Ref:HowtochangeimagesizeinMarkdownRef:MarkdownCheatsheet <imgsrc="https://github.com/epiwatch/ews-gis/blob/develop/analysis/redflag/StaticHotspot......
  • WPF Validation - Using INotifyDataErrorInfo | .NET Land (kmatyaszek.github.io)
    WPFValidation-UsingINotifyDataErrorInfo|.NETLand(kmatyaszek.github.io)Inthe.NET4.5wasintroducednewinterface INotifyDataErrorInfo whichenable......
  • Git 上传项目至 GitHub 全过程
    一、问题引入在Git上传项目至GitHub过程中,出现了一些意想不到的情况,所以有必要记录一次全过程。诸如此类的问题有:1)RPCfailederror:RPCfailed;HTTP408curl22......
  • AppUploader教程:如何使用该工具制作Apple证书​
    AppUploader教程:如何使用该工具制作Apple证书​AppUploader下载安装操作​AppUploader是一款方便快捷的开发者工具,提供了多项实用的功能。本文将介绍AppUploader的下载和安......
  • Github从入门到实操
    Git基础创建版本库gitinit添加及提交到仓库gitaddxxx.filegitcommit-m"xxxx"##看看工作区和暂存区的区别gitdiffxxx.file版本回退#查看最近三次co......
  • fatal: unable to access 'https://github.com/nhn/raphael.git/': OpenSSL SSL_read:
    这个问题真的处理了一上午的时间才解决,具体怎么解决的我也不是很清楚,大致步骤是这样的。由于公司要升级项目,所以找了好多轮子来学习。然后在准备学习这个轮子的时候在安装......
  • 使用Hexo+Github搭建免费个人博客过程记录
    虽然n久没有用GitHub了,记录一下个人博客怎么弄安装前提安装Hexo相当简单,只需要先安装下列应用程序即可:Node.js(安装最新版本即可,npm也一块装好了)npm-v测试Git前期......