- 博客(62)
- 资源 (1)
- 收藏
- 关注
原创 删除 main.storyboard和SceneDelegate后 指定了rootViewController 还是黑屏
删除 main.storyboard和SceneDelegate后 指定了rootViewController 还是黑屏
2022-09-27 16:55:39 436 1
原创 安卓编译工具 Gradle
setting.gradle 记录哪些Module加入编译过程项目的:build.gradle 所有的Module都继承项目的配置Module的:build.gradle 当前Module的配置,Module配置高于项目的配置配置中的内容minSdkVersion 最小兼容版本compileSdkVersion 编译的SDK版本targetSdkVersion 目标版本,SDK兼容dependencies 依赖的配...
2021-08-27 15:45:02 214
原创 安卓android 简单记录项目目录对应关系
Project目录模式java文件目录位置 app - src - main - java配置文件app - src - main -AndroidManifest.xml布局文件app - src - main - res - layout文字和颜色app - src - main - res - valuesAndroidManifest.xml 中配置对应的java页面和main页面在ja...
2021-08-27 15:26:53 128
原创 iOS AFNetworking Code=-1011 “Request failed: bad request (400)“
调试接口前要和后端确定一下,参数格式(是json或是二进制)AFNetworking默认的格式是二进制如果请求的参数格式是json需要修改manager.requestSerializer = [AFJSONRequestSerializer serializer];一般常用的格式AFHTTPRequestSerializer:第一种是普通的http的编码格式也就是pageNum=1&pageSize=10&areaId=1&startTime=2018-05-01&
2021-04-16 17:11:13 1392
转载 Git 打补丁 patch 方式
1、创建patch 文件的常用命令行*某次提交(含)之前的几次提交:git format-patch 【commit sha1 id】-nn指从sha1 id对应的commit开始算起n个提交。eg:git format-patch 2a2fb4539925bfa4a141fe492d9828d030f7c8a8 -2*某个提交的patch:git format-patch 【commit sha1 id】 -1eg:git form...
2021-04-07 10:18:47 273
转载 Git 常用命令
git branch 查看本地所有分支git status 查看当前状态git commit 提交git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释git remote add origin git@192.168.1.119:ndshowgit push origin master 将文件给推到服务器上git remote show origin 显示远程库origin里的资源git ...
2021-04-07 10:13:14 104
原创 内存管理的基本概念及范围
为什么要内存管理因为内存有限,要确保应用流畅的运行需要提供合理的空间并且要合理的释放空间一个app应用当内存达到 20M 系统会向该app发送警告 45M 系统会再次向该app发送警告 110M 直接闪退OC内存管理的范围管理所有继承了NSObject类的对象内存分区:栈区:局部变量,系统开辟空间,系统管理堆区:动态生成的对象,全局区:全局
2015-11-08 21:23:36 1086
原创 c语言的文件操作
文件的操作步骤步骤:一、打开文件使用fopen函数打开文件,然后使用文件指针变量接受。1、文件指针变量的声明FILE *变量名;注:FILE四个字都需要大写。例:FILE *fp;2、fopen函数的使用:文件指针 = fopen("文件名","文件使用方式");函数有1个返回值返回值的类型的事文件指针。注意:一般对文件返回值要做一个判断指针是否
2015-10-30 22:09:32 612
原创 文件操作实例-加密文件
#include void encryptFile(){ FILE * fileRead; fileRead = fopen("/Users/xxxxxxxx/Desktop/原文件.mp4", "r"); FILE * fileWrite; fileWrite = fopen("/Users/xxxxxxxx/Desktop/加密文件.mp4",
2015-10-30 22:06:28 456
原创 值传递和引用传递
值传递: 使用函数,如果参数值基本数据类型,那么传递数据的时候是将数据复制一份传递到函数 中. 在函数调用时将复制的数据赋值给函数的形式参数. 由于传递的是数据本身,因此常常称 为值传递。简单总结:传递的是变量里存的具体数值(相当于copy了一份) 如:引用传递:使用指针类型的变量作为函数的参数,函数在调用的时候传递的是变量的地址. 那么在函数 中使用的变量进行
2015-10-23 18:33:35 373
原创 c语言中指针变量作为函数的参数
1、定义方法返回值类型 函数名(类型 *指针变量名){函数体; }如:void changeNum(int *pInt){printf("这个数是:%d",*pInt);*pInt = 30; //这里修改指针指向的空间里的值后,主调函数外面的值也就修改了 }2、调用方法 函数名(变量地址);例:int num = 16
2015-10-23 18:32:30 1108
原创 c语言指针介绍
1、指针的基本概念在计算机中,所有的数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占4个单元,字符量占1个单元等,为了正确地访 问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单 元。内存单元的编号也叫做地址。既然根据内存单元的编号或地址就可以找到所需的 内存单元,
2015-10-23 18:29:20 712
原创 c语言中数组长度的计算
一维数组 计算数组的长度: sizeof(数组名) 得到这个数组占用内存的总长度 公式: sizeof(数组名) / sizeof(数组类型);二维数组 二维数组计算列数: 每行的总长度 / 元素占用的字节
2015-10-23 18:27:34 39626
原创 二维数组
二维数组: 简单来说就是一个数组里面的每个元素又是一个数组 语法: 类型 数组名[大元素个数][每个元素内的小空间个数]; 例: int nums[4][3]; 记住:大元素个数可以理解为行数,每个元素内的小空间个数可以理解为列数 所以我们只要把二维数组
2015-10-23 18:25:38 363
原创 冒泡排序
如:有7个数70 60 5040 30 20 10 现需用冒泡排序将其从小到大排列具体思想步骤:先用第1个数跟第2个数比较,发现70比60要大,所以70跟60交换位置,即现在位 顺序为:60 70 50 40 30 20 10 再然后用第2个数跟第3个数进行比较,因为此时第2个数已经变为 了70,所以是70与第3个数比较,发现70又比50要大,于是将第2个数与第3个数交
2015-10-23 18:23:16 322
原创 数组作为函数的参数
1、数组元素作函数实参数组元素就是下标变量,它与普通变量并无区别。 因此它作为函数实参使用与普通变量是完 全相同的,在发生函数调用时,把作为实参的数组元素的值传送给形参,实现单向的值传送。2、数组名作为函数参数当函数的形参是一个数组时,那么我们的实参必须传入一个数组(数组名)注意:此时在函数内部改了某个元素的值,外部数组元素也会发生改变
2015-10-23 18:22:37 542
原创 C语言的数组的介绍
数组:一个变量保存多个类型相同的数据数组的语法: 类型 数组名[正整数]; 正整数就是你这个变量要保存多少个数据 例:int nums[10]; //保存10个int数据 char chs[5]; //保存5个字符数据数组的三个专业术语:1.元素:数组之中划分的小空
2015-10-23 18:19:21 416
原创 c语言的多文件开发
我们实际开发中的项目,基本都是团队协作开发,每人负责一个模块(功能),这样比较利 于项目的快速开发。案例: 模块:数学功能将1个功能模块的函数应该单独的写在1个文件之中. 每1个模块1个文件. 新建1个.c文件.在这个.c文件之中写上相关的函数.在要调用的地方, 先声明函数以后 才能调用.这么做可能存在的问题:1). 如果写模块的人 新增了1个函数 那么
2015-10-23 18:15:48 427
原创 C语言的预处理指令-include指令
1、#include是一个预处理指令1) 什么是与处理指令? 就是在源代码编译之前进行的一系列操作。其中预处理指令包含:文件包含、宏定义、条件编译指令 等等 预处理指令的特点:A、所有的预处理指令都是以#开头 B、没有分号C、在编译之前执行2)#include指令是一条文件包含预处理指令作用:将指定文件的内容拷贝到写这条#include指令的地方 语法:#inc
2015-10-23 18:12:36 3410
原创 Xcode编码区中行号如何显示
第一步:调出preferences,偏好设置a、使用快捷键 command + ,b、菜单选项 Xcode -> preferences 第二步:选择 Text Editing第三步:勾选 Show 中的 Lien numbers然后关闭对话框,看编码区中行号已经显示了
2015-10-23 18:11:20 395
原创 Xcode调试的使用
一、断点调试打断点: 在对应的某行代码行号处点击鼠标左键,点击完后会生成一个阴影,如:下断点有什么用?当你用Xcode编译并启动程序时,程序执行到你下断点的地方会卡住,不再往下执 行,如:我们发现第43行代码处有一行绿色的yin阴影,这代CPU执行到这一行时停止了(此行还没执行),如果想继续往下执行,此时有三种方法:1、往
2015-10-23 18:07:34 517
原创 return关键字
return关键字也有结束的作用,但效果比break、continue恐怖的多,是直接结束整个函数。return 关键字后面的语句不会被执行总结: break continue returnbreak:用在循环或者switch case语句中,用来结束其所在的循环或者switch case语句continue:用在循环中,用来结束其
2015-10-23 17:50:41 595
原创 全局变量和局部变量
全局变量: 就是定义在函数外的变量就叫全局变量(不在代码块{}里面定义的变量) 局部变量: 就是定义在函数内的变量就叫局部变量(在代码块{}里面定义的变量) 区别: 1.局部变量只能在它所在的作用域里面使用,全局变量在任意函数内都可以使用 2.局部变量在它所在的代码块结束后就被回收,全局变量在程序结束的时候才会被回收
2015-10-23 17:49:39 538
原创 函数的申明
1、为什么需要对函数进行申明 编译器很笨,只会从上到下依次将代码翻译成计算机可以识别的二进制指令,所以如果当函数的申明写在它被调用之后,编译器会报错!为了解决这个问题,所以如果函数的实现写在调用语句后面的话则需要先对函数进行申明。代表告诉编译器:有这个函数,你只管编译就好!2、 完整的写函数的两个步骤1). 函数的声明语法: 只写函数头 直接加1个分号结束.
2015-10-23 17:46:01 1052
原创 有返回值的函数
什么时候需要函数的返回值? 当函数执行完毕能得出一个结果,但是函数内部不知道怎么正确地处理这个结果,恰好这个结果又是调用者想用来得到的,就需要有函数的返回值!怎样让函数有返回值?1)确定要返回的值的类型 2)修改函数的返回值类型为你想要返回值的类型(如将之前的void改为int) 3)在函数内使用 return 表达式 返回 语法: 返回值类型
2015-10-23 17:41:44 6283
原创 c语言中typedef的使用
typedef 可以自定义一个类型 typedef的作用是可以将任何类型相当于改一个你自己喜欢的名字。例如,改完以后int类型可以不叫int类型,直接只叫i类型(或者直接改为中文名) 语法:typedef 原本类型的名字 你想改的类型名字一般我们都把typedef用在 匿名结构体上给它一个别名
2015-10-22 23:04:26 393
原创 c语言的结构体
一、结构体简介结构体就是可以存多种类型多个数据的变量跟数组的不同之处数组虽然也能存多个数据,但是只能存同类型的数据。但是结构体是不光能存多个数据,并且可以允许数据是不同类型的定义结构体类型的语法: struct 结构体名{ 成员列表; }; 切记切记有分号! 说明:成员列表
2015-10-22 22:59:23 357
原创 c语言中字符串的常用函数
1、字符串输出函数 puts格式: puts(字符数组名)功能:把字符数组中的字符串输出到显示器。 即在屏幕上显示该字符串。puts和printf 加%s 的区别: 1.puts不需要格式化控制符,printf需要 2.puts只能输出字符串,printf其他类型都可以输出 3.puts自带换行
2015-10-22 22:54:29 516
原创 c语言中字符串的输入和输出
字符串的输出和输出a、使用的格式字符串为“%s”,表示输入、输出的是一个字符串。例如b、使用字符串输入(gets)、输出(puts)函数如warning: this program uses gets(), which is unsafe.使用gets()时会给出上述警告,提示不安全(也就是输入的字符串大于数组的容量时字符串就溢出到 其他存储空间 了
2015-10-22 22:51:46 2012 1
原创 c语言中的字符串
一、C语言中的字符串c语言中没有字符串类型字符串实际就是多个字符连在一起,所有可以用字符数组来存放字符串。但是使用字符数组输出时需要使用for循环例如:这样使用十分不方便,有没有一种简约的方式,让我们一下子就能输出呢?有但是需要改两个地方! 1.长度要+1 2.末尾要加一个'\0'然后用 %s(格式化控制符)就可以输出了!
2015-10-22 22:50:29 811
原创 有参函数
1、什么是函数的参数? 在函数名右边的小括号里申明的变量,就叫参数。注意:没有分号!2、函数的参数的本质: 相当于函数内部的局部变量,所以不能在函数内部再定义一个同名的变量,并且在函数 内部可以直接使用参数的值调用函数时需要给参数进行赋值,否则会报错!如:3、带多个参数的函数定义方法:返回值 函数名 ( 参数类型 参数名1,参数类型 参数名
2015-10-18 22:24:08 1105
原创 一般的函数
函数的作用: 函数就相当于是一个打包盒,将一段代码打包在这个盒子里,当需要用这段代码时,只要把这个盒子拿过来就行了。 稍微专业点的说法: 将一段需要被重用的代码封装在函数中,什么时候想要执行这段代码,只需要调用这个函数就行了。函数的定义:返回值类型 函数名 (参数列表){ 函数体}例:void test(){ }i
2015-10-18 22:10:51 490
原创 for循环
1、for循环的语法格式 C语言中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环 次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。一般形式:for(表达式1;表达式2;表达式3) {循环体;}2、for循环执行过程:1.先执行表达式1,跳转到22.判断表达式2的结果是否为真,如果为真,跳转到3
2015-10-18 21:59:54 450
原创 循环的中断语句
break和continue语句都可以用在循环中,用来跳出循环(结束循环);break语句还可以用在 switch语句中,用来跳出switch语句。1、break语句通常用在循环语句和开关语句中。2、continue 语句(结束本次循环,继续下次循环) 用法continue语句的作用是跳过循环体中剩余的语句而继续下一次。continue语句只用在
2015-10-18 21:55:41 2495
原创 do-while循环
do-while的语法: do{ 循环体; }while(表达式); 注意:while的小括号后面一定要加分号 语义: 1.执行循环体,跳转到2 2.判断表达式的结果是否为真,如果为真,跳转到1,
2015-10-17 21:26:45 381
原创 交换两个变量的值 - 经典面试题
#include int main(int argc, const char * argv[]) { int num1=10,num2=20; printf("交换之前:num1=%d num2=%d\n",num1,num2); // 方法一,使用中间变量 /* int temp = num1; //
2015-10-17 21:24:15 565
原创 循环结构之while篇
1、while循环的格式:while ( 条件 ) {语句1; 语句2; ....} 2、while循环使用方法:1、while循环的特点:如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行2、while语句的语义是:如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内容)。 然 后再次判断条件,重复上述过程,直
2015-10-17 21:22:04 1587
原创 分支结构之switch篇
switch语句 switch语法: switch(表达式){ case 常量表达式1: 语句块1 break; case 常量表达式2:
2015-10-17 21:17:40 3941
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人