自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (1)
  • 收藏
  • 关注

原创 更优雅地调试SwiftUI—借助LLDB

LLDB 注入代码的功能固然强大,但是如果我们无从知晓在 LLDB 中操纵的变量是实际的变量还是那个“影子变量”,无法明确判断编译器何时做出了优化,这个功能无疑成为了一把达摩克利斯之剑。在 Objective-C 中,调试器中的变量和代码运行时的变量确实是同一个变量,指向同一个内存地址,因此在 LLDB 中修改变量自然与在代码中修改变量等价。很完美,在要发布的 App 中使用私有 API 肯定不是明智之举,借助 LLDB 正好帮我们避免了这点,Xcode 在打包时会排除掉开发者设置的断点信息。

2023-08-09 19:40:56 5535

原创 OC多态性浅析

这里我们声明了一个classB类型的对象a,但是用classA的构造器去初始化它;同时声明了一个classA类型的对象b,但是用classB的构造器去初始化它,那么执行代码,它们调用的究竟是哪一个类中的printVar函数呢?答案如下:可见,a实际调用了classA中实现的方法,而b实际调用了classB中的方法。这是因为在Objective-C中,方法的调用是根据对象的实际类型来确定的,而不是根据对象的声明类型(即变量的类型)来确定的。由于返回的是classB类型的对象,所以对a调用。

2023-07-12 15:57:35 226

原创 SwiftUI 自定义一个以 View 作为参数的 ViewModifier

自定义一个 sheet ,当 iOS 版本为 16.0 以上时,可以指定弹出 sheet 的高度,而当 iOS 版本为 16.0 以下时,弹出的 sheet 为默认高度。在需要使用自定义 sheet 的 View 中,使用。这里我们使用了 Swift 的泛型来实现。这样,我们只需要在 View 中使用。即可调用自定义的 sheet 了。参数为我们指定的高度占屏幕的比例。modifier 即可。为自定义的 sheet 内容,sheet 的官方声明如下。因此我们必须向它传递。

2023-03-13 11:53:28 571

原创 SwiftUI 将一个 ScrollView 中的 content 转为 image

在 iOS 16 / macOS 13 之前,将任何一个 View 转为 image 需要借助或编写相关代码实现,而随着 Apple 在 iOS 16.0 / macOS 13 后发布了新的 API — ImageRenderer 后,仅需一行代码就能将一个 View 转为 image。下面我们将借助类将一个 ScrollView 中的 content 转为 image,即使 content 的高度高于屏幕高度,这种方法仍然可将全部的 content 转为 image。

2023-03-13 11:22:27 439

原创 python add_argument() 方法详解

首先我们来看一下官方文档的说明,了解一下有哪些参数,接下来的介绍中引用块都是所有官方文档的原文,对于每一个参数及其取值的说明会加上我的个人理解以及举例说明。下面的官方介绍简单看一下即可,后面分别作详细解释在官方文档中,诸如 这种前面没有 “-” 的参数被称为名称(name),而 这种前面有 “-” 的参数被称为旗标(flags)所谓的位置参数(foo)指的是在命令行参数的顺序必须与name or flags字符串列表中的位置参数顺序一致。反之, 和 则可以在命令行里任意位置指定,前者一般为后者的缩..

2022-06-22 01:02:32 21241 10

原创 SwiftUI解决Text文本显示不全的问题

有时候在SwiftUI中当Text中字符串过长时,会出现显示不全文末出现...的现象,解决办法就是为Text加上一个modifier即可:.fixedSize(horizontal: false, vertical: true)

2021-08-03 12:35:31 2270

原创 跨View访问AppStorage中的变量

将AppStorage这个wrapper套在变量上时,就是将这个变量保存在UserDefaults中,而后者的域是整个APP,因此在任何一个View中(不管它们是父子关系、同级关系或是其他关系)都可以访问同一个变量,代码如下:struct MainView: View { var body: some View { TabView { SubView1() SubView2() } }}struct

2021-07-30 17:59:47 156

原创 SwiftUI 解决tabView子View可以滚动的问题

问题描述如标题原因分析在SwiftUI中,tabView可能是基于ScrollView或者会为其子View自动套用ScrollView,其子View既可以水平滚动,也可以纵向滚动。问题解决手动为tabView embed一个ScrollView,然后禁用它的bounce属性,例如:var body: some View { ScrollView { TabView(selection: $currentTabIndex) {

2021-07-30 01:25:38 779

原创 SwiftUI获取屏幕尺寸

需要借助UIKit来实现。例如,创建一个一半屏幕宽度和屏幕高度的圆角矩形:RoundedRectangle(cornerRadius: 25.0) .frame(width: UIScreen.main.bounds.size.width / 2.0, height: UIScreen.main.bounds.size.height / 2.0)NOTE: 当ScrollView不能正常滚动时,可以用此方法解决...

2021-07-24 22:42:33 1194

原创 PAT练习 采药

描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医 师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间, 在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗?【输入 】第 一行有两个整数T(1 <= T <= 10.

2021-04-06 18:48:38 93

原创 PAT练习 装箱问题

【问题描述】有一个箱子的容量为V(V为正整数,且满足0≤V≤20000),同时有n件物品(0的体积值为正整数。要求从n件物品中,选取若干装入箱内,使箱子的剩余空间最小。输入:1行整数,第1个数表示箱子的容量,第2个数表示有n件物品,后面n个数分别表示这n件物品各自的体积。输出:1个整数,表示箱子剩余空间。【输入输出样例】输入:24 6 8 3 12 7 9 7输出:0C++实现//// main.cpp// AN11.7-A///...

2021-04-06 17:48:01 177 1

原创 PAT练习 最大连续子序列

Description给定K个整数的序列{N1,N2,...,NK},其任意连续子序列可表示为{Ni,Ni+1,...,Nj},其中1<=i<=j<=K。最大连续子序列是所有连续子序列中元素和最大的一个,例如给定序列{-2,11,-4,13,-5,-2},其最大连续子序列为{11,-4,13},最大和为20。现在增加一个要求,即还需要输出该子序列的第一个和最后一个元素。Input测试输入包含若干测试用例,每个测试用例占2行...

2021-03-31 19:04:52 152

原创 PAT练习 Fibonacci

DescriptionThe Fibonacci Numbers{0,1,1,2,3,5,8,13,21,34,55...} are defined by the recurrence:F0=0 F1=1 Fn=Fn-1+Fn-2,n>=2Write a program to calculate the Fibonacci Numbers.InputEach casecontains a number n and you are expected to calculate Fn....

2021-03-30 19:40:43 100

原创 PAT练习 复原二叉树

Description小明在做数据结构的作业,其中一题是给你一棵二叉树的前序遍历和中序遍历结果,要求你写出这棵二叉树的后序遍历结果。Input输入包含多组测试数据。每组输入包含两个字符串,分别表示二叉树的前序遍历和中序遍历结果。每个字符串由不重复的大写字母组成。Output对于每组输入,输出对应的二叉树的后续遍历结果。Sample InputDBACEGF ABCDEFGBCAD CBADSample OutputACBFGEDCDABC++实现//

2021-03-29 17:23:23 134

原创 QT使窗口始终置顶的方法

以一个radioButton控制为例:void Dialog::on_radioButton_clicked(bool checked){ if(checked){ this->setWindowFlags(this->windowFlags() | Qt::WindowStaysOnTopHint); this->showNormal(); }else{ this->setWindowFlags(this-&g

2020-11-13 10:00:37 2305

原创 macOS Big Sur 安装配置QT creator教程

最近成功在big sur版本上安装了QT creator,参考了网上若干帖子的经验,下面就总结一下安装成功的经验。brew ruby准备工作第一步,安装Ruby(如果已经安装过可以跳过此步)步骤参见https://www.cnblogs.com/ssjf/p/12174788.html第二步,安装brew(如果已经安装过可以跳过此步)打开终端,输入ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebr...

2020-10-30 11:32:48 2363 10

原创 PAT练习 a+b

PAT练习 a+bDescription实现一个加法器,使其能够输出a+b的值。Input输入包括两个数a和b,其中a和b的位数不超过1000位。Output可能有多组测试数据,对于每组数据,输出a+b的值。Sample Input6 82000000000 30000000000000000000Sample Output1430000000002000000000C++实现#include <stdio.h>#include &l

2020-09-12 14:39:03 111

原创 PAT练习 约数的个数

PAT练习 约数的个数Description输入n个整数,依次输出每个数的约数的个数。Input输入的第一行为N,即数组的个数(N<=1000)接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000)当N=0时输入结束。Output可能有多组输入数据,对于每组输入数据,输出N行,其中每一行对应上面的一个数的约数的个数。Sample Input61 4 6 8 10 120Sample Output134

2020-09-12 11:33:04 121

原创 PAT练习 完数

PAT练习 完数Description 求1-n内的完数,所谓的完数是这样的数,它的所有因子相加等于它自身,比如6有3个因子1,2,3,1+2+3=6,那么6是完数。即完数是等于其所有因子相加和的数。Input 测试数据有多组,输入n,n数据范围不大。Output 对于每组输入,请输出1-n内所有的完数。如有案例输出有多个数字,用空格隔开,输出最后不要有多余的空格。Sample Input6Sample Output6C++实现#inc...

2020-09-12 10:14:36 133

原创 PAT练习 Goldbach‘s Conjecture

PAT练习 Goldbach's ConjectureDescriptionGoldbach's Conjecture: For any even number n greater than or equal to 4, there exists at least one pair of prime numbers p1 and p2 such that n = p1 + p2.This conjecture has not been proved nor refused yet. No one.

2020-09-11 21:31:34 99

原创 PAT练习 素数

PAT练习 素数Description输入一个整数n(2<=n<=10000),要求输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数,如果没有则输出-1。Input输入有多组数据。每组一行,输入n。Output输出所有从1到这个整数之间(不包括1和这个整数)个位为1的素数(素数之间用空格隔开,最后一个素数后面没有空格),如果没有则输出-1。Sample Input70Sample Output11 31 41 61C++实现#

2020-09-11 20:28:26 122

原创 PAT练习 Least Common Multiple

PAT练习 Least Common MultipleDescriptionThe least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible by all the numbers in the set. For example, the LCM of 5, 7 and 15 is 105.InputInput will consis

2020-09-11 19:12:07 66

原创 PAT练习 多项式的值

PAT练习 多项式的值Description实现一个多项式的类(a+b*x+c*x^2+d*x^3+...+),要求输入该多项式的系数和x的值后打印出这个多项式的值。Input输入第一行为样例数m,对于每个样例,第一行为多项式最高项次数n,接下来n+1个整数表示每项系数,最后一个整数x,n不超过10。Output输出m行,表示个多项式代入x后的值。Sample Input121 2 32Sample Output17C++实现#include

2020-09-11 09:59:11 166

原创 PAT练习 百鸡问题

PAT练习 百鸡问题Description用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。Input测试数据有多组,输入n。Output对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。Sample Input45Sample Outputx=0,y=0,z=100x=0,y=1,z=99x=0,y=2,z=98x=0,y=3,z=97x

2020-09-10 19:53:22 133

原创 PAT练习 反序数

PAT练习 反序数Description设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)求N的值Input程序无任何输入数据。Output输出题目要求的四位数,如果结果有多组,则每组结果之间以回车隔开。C++实现#include <iostream>using namespace std;int main(){ int N,nine_times_N; for(int i=0;i<10;i++){

2020-09-10 16:04:37 103

原创 PAT练习 守形数

PAT练习 守形数Description守形数是这样一种整数,它的平方的低位部分等于它本身。比如25的平方是625,低位部分是25,因此25是一个守形数。编一个程序,判断N是否为守形数。Input输入包括1个整数N,2<=N<100。Output可能有多组测试数据,对于每组数据,输出"Yes!”表示N是守形数。输出"No!”表示N不是守形数。Sample Input611Sample OutputYes!No!C++实现#inc

2020-09-10 15:49:57 98

原创 PAT练习 快速排序 qsort [2*]

PAT练习 快速排序 qsort [2*]Description输入n个整数,用快速排序的方法进行排序Input第一行数字n 代表接下来有n个整数接下来n行,每行一个整数Output升序输出排序结果每行一个数据Sample Input51218141316 Sample Output1213141618 Hintn<=5000每个数据<=5000c++实现#include <stdio.h&gt...

2020-08-22 10:59:55 172

原创 PAT练习 基础排序III:归并排序

PAT练习 基础排序III:归并排序Description归并排序是一个时间复杂度为O(nlogn)的算法,对于大量数据远远优于冒泡排序与插入排序。这是一道排序练习题,数据量较大,请使用归并排序完成。Input第一行一个数字n,代表输入的组数其后每组第一行输入一个数字m,代表待排序数字的个数其后m行每行一个数据,大小在1~100000之间,互不相等,最多有10万个数据。Output升序输出排好序的数据,每行一个数字Sample Input110109.

2020-08-22 10:35:30 90

原创 PAT练习 查找

PAT练习 查找Description输入数组长度 n输入数组 a[1...n]输入查找个数m输入查找数字b[1...m]输出 YES or NO 查找有则YES 否则NO 。Input输入有多组数据。每组输入n,然后输入n个整数,再输入m,然后再输入m个整数(1<=m<=n<=100)。Output如果在n个数组中输出YES否则输出NO。Sample Input63 2 5 4 7 823 6Sample Outp...

2020-08-18 21:58:16 101

原创 PAT练习 打印极值点下标

PAT练习 打印极值点下标Description在一个整数数组上,对于下标为i的整数,如果它大于所有它相邻的整数,或者小于所有它相邻的整数,则称为该整数为一个极值点,极值点的下标就是i。Input每个案例的输入如下:有2×n+1行输入:第一行是要处理的数组的个数n;对其余2×n行,第一行是此数组的元素个数k(4<k<80),第二行是k个整数,每两个整数之间用空格分隔。Output每个案例输出不多于n行:每行对应于相应数组的所有极值点下标值,下标值之间用空格分隔,如果

2020-08-18 21:13:08 91

原创 PAT练习 找x

PAT练习 找xDescription输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。Input测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。Output对于每组输入,请输出结果。Sample Input41 2 3 43Sample Output2C++实现简单的二分搜索#include <stdio.h>#inclu

2020-08-18 20:30:21 87

原创 PAT练习 找零钱

PAT练习 找零钱Description小智去超市买东西,买了不超过一百块的东西。收银员想尽量用少的纸币来找钱。纸币面额分为50 20 10 5 1 五种。请在知道要找多少钱n给小明的情况下,输出纸币数量最少的方案。 1<=n<=99;Input有多组数据 1<=n<=99;Output对于每种数量不为0的纸币,输出他们的面值*数量,再加起来输出Sample Input2532Sample Output20*1+5*120*1+10.

2020-08-17 17:39:28 385

原创 PAT练习 FatMouse‘s Trade

PAT练习 FatMouse's TradeDescriptionFatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean.The warehouse has N rooms. The i-th room contains J[i] pounds of JavaBeans and requires

2020-08-16 17:26:47 103

原创 PAT练习 Repair the Wall

PAT练习 Repair the WallDescriptionLong time ago , Kitty lived in a small village. The air was fresh and the scenery was very beautiful. The only thing that troubled her is the typhoon.When the typhoon came, everything is terrible. It kept blowing an.

2020-08-14 17:17:14 81

原创 PAT练习 出租车费

PAT练习 出租车费Description某市出租车计价规则如下:起步4公里10元,即使你的行程没超过4公里;接下来的4公里,每公里2元;之后每公里2.4元。行程的最后一段即使不到1公里,也当作1公里计费。一个乘客可以根据行程公里数合理安排坐车方式来使自己的打车费最小。例如,整个行程为16公里,乘客应该将行程分成长度相同的两部分,每部分花费18元,总共花费36元。如果坐出租车一次走完全程要花费37.2元。现在给你整个行程的公里数,请你计算坐出租车的最小花费。Input输入包含多组.

2020-07-27 23:59:01 348

原创 PAT练习 八皇后

PAT练习 八皇后Description会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!这就是著名的八皇后问题。对于某个满足要求的8皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2...b8,其中bi为相应摆法中第i行皇后所处的列数。已经知道8皇后问题一共有92组解(即92个不同的皇后串)。给出一个数b,要求输出第b个串。串的比较是这样的:皇后串x置于皇后串y之前,当且仅当将x视为整数..

2020-07-25 19:40:26 146

原创 PAT练习 神奇的口袋

PAT练习 神奇的口袋Description有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。Input输入的第一行是正整数n (1 <= n <= 20),表示不同的物品的数目。接下...

2020-07-25 17:39:56 103

原创 PAT练习 数列

PAT练习 数列Description编写一个求斐波那契数列的递归函数,输入n值,使用该递归函数,输出如下图形(参见样例)。Input输入第一行为样例数m,接下来有m行每行一个整数n,n不超过10。Output对应每个样例输出要求的图形(参见样例格式)。Sample Input16Sample Output 0 0 1 1 0 1 1 2 3 0 1 1 2 3 5 8 0 1 1 2 3 ...

2020-07-23 19:09:57 73

原创 PAT练习 吃糖果

PAT练习 吃糖果Description名名的妈妈从外地出差回来,带了一盒好吃又精美的巧克力给名名(盒内共有 N 块巧克力,20 > N >0)。妈妈告诉名名每天可以吃一块或者两块巧克力。假设名名每天都吃巧克力,问名名共有多少种不同的吃完巧克力的方案。例如:如果N=1,则名名第1天就吃掉它,共有1种方案;如果N=2,则名名可以第1天吃1块,第2天吃1块,也可以第1天吃2块,共有2种方案;如果N=3,则名名第1天可以吃1块,剩2块,也可以第1天吃2块剩1块,所以名名共有2+1=

2020-07-22 18:16:10 81

原创 PAT练习 String Subtraction

PAT练习 String SubtractionDescriptionGiven two strings S1and S2, S = S1- S2is defined to be the remaining string after taking all the characters in S2from S1. Your task is simply to calculate S1- S2for any given strings. However, it might not be tha...

2020-07-18 20:18:30 124

StudentManageSystem.zip

使用C++编写的学生成绩管理系统(控制台),面向对象编程,使用链表实现。具体功能如下: 学生信息包括:学号、姓名、班级、各科成绩、成绩总分以及平均分; 可以(批量)添加学生信息,删除和修改信息; 使用学号查询学生信息; 分别根据学号、各科成绩、总分和平均分对学生信息进行排序。

2020-07-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除