- 博客(38)
- 问答 (2)
- 收藏
- 关注
原创 一句代码搞定tableView的代理方法
ZBTableView一句代码搞定tableView的代理方法github:https://github.com/ChenZeBin/ZBTableView一、介绍一句代码搞定tableView的设置行,设置列,设置cell,设置高度等等方法二、使用 // 声明tableview的代理对象 _tableModel = [[ZBTableViewModel alloc] init];
2017-05-28 20:37:43 984
原创 模仿iOS10的下拉通知
CopyAppleTableCell模仿iOS10 的下拉通知栏 本源码可以帮助新手初步学习自定义cell,FMDB持久化,MVC架构 github: https://github.com/ChenZeBin/CopyAppleTableCell一、涉及技术1.用一个model来代理tableview的代理方法2.fmdb3.UILabel高度自适应4.AutoLayout + FDTempl
2017-05-28 11:40:26 1053
原创 内存管理_零碎记录
1.以下方法中局部变量myArray和全局变量_sqlData.array引用了同一块内存 当这个方法过了,这个局部变量的指针就被销毁,引用计数就由2变成1, 所以这里有一个点要注意,在一个方法中开了一块内存,过了这个方法,是局部变量的指针没了,内存销不销毁看的是引用计数,跟方法过了没有关系,所以我在其他方法里面输出_sqlData.array,依旧有值的- (void)sqlFindClick
2017-05-27 17:37:37 419
原创 jdbc事务处理
为了保证数据的一致性、完整性 比如100条数据,插入数据库 前50条成功插入,后面50没有成功插入,这就属于不完整数据 所以我们要用事务管理来解决// 设置为false,就不会自动提交到数据库,比如前50条数据通过,后面50不通过,这样也不会进入数据库conn.setAutoCommit(false);但是,使用conn.setAutoCommit(false);要注意数据库死锁所
2017-05-26 20:12:31 475
原创 java基于jdbc驱动对mysql增删改查
package com.chenzebin.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class JDBCTest { /** * * @Title: getConne
2017-05-26 18:00:32 718
原创 完整iOS项目
MemoryAdd一 项目背景项目是在2016年6月份学习Oncenote源码并基于该项目开发的 该项目的github地址 https://github.com/ChenZeBin/MemoryAdd二 项目介绍这是一款工具类APP,主要面向大学生设计,具备笔记,记账,备忘,个人世界、倒计时功能,在功能设计上,主要采取简洁,操作简单,易使用的设计理念。比如:记账,是针对大学生生活的记账,现市场上
2017-05-26 17:02:50 1478
原创 jdbc连接mysql
package com.chenzebin.jdbc;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class JDBCTest { public static void main(String[] ar
2017-05-26 16:51:45 505
原创 JDBC连接数据库_零碎记录
1.try { Class.forName("com.mysql.jdbc.Driver"); // localhost 意思是连接本地的数据库,或者也可以写IP地址,这样可以在同个局域网下连接其他电脑的数据库 // jdbc:mysql:是固定的 // 3306端口号 // ro
2017-05-26 15:56:41 317
原创 mysql语法_零碎记录
unsigned 不是数据类型,是数据修饰(约束),无符号类型,不能负数的意思auto_increment自动增加not null 不能为空primary key(id) 设置主键engine 设置mysql的储存引擎
2017-05-26 15:35:11 316
原创 eclipse操作技巧
1.格式化代码(快捷键:ctrl+shift+f) 2.自动导包(快捷键:ctrl+shift+o) 3.单行注释 (快捷键:ctrl+/) 4.方法注释(快捷键:/**回车) 5.快速写get和set
2017-05-25 21:22:52 319
原创 App installation failed
一、错误介绍App installation failedThe maximum number of apps for free development profiles has been reached.二、错误解释这个错误是在你真机调试的时候报的,原因就是你手机安装了超过四个自己免证书下的应用 三、解决方法点击 window -> Devices
2017-05-25 13:31:19 547
原创 mac下启动/停止/重启mysql服务
在命令窗口找到mysql服务的目录文件 默认是个人\磁盘\usr\local\mysql\support-files 目录下执行命令启动MySQL服务sudo /usr/local/MySQL/support-files/mysql.server start停止MySQL服务sudo /usr/local/mysql/support-files/mysql.server stop重启MySQL
2017-05-24 23:32:03 112584 11
原创 iOS_四大传值
一、目录属性 传值单例 传值block传值代理 传值总结个人使用心得代码下载地址:https://github.com/ChenZeBin/SendValue二、掌握四大传值前提1.掌握push跳转 相关文章链接:http://www.jianshu.com/p/46f693f761a1 2.掌握单例模式 3.掌握block 4.掌握代理三、介绍1、属性传值(1)、介绍:比如
2017-05-11 23:22:59 392
原创 swift3.0在ios8关联的xib中的控件为nil
ios8.xController关联xib,需要加上@objc(MyViewController) class MyViewController: UIViewController {}不然,当点击关联到xib的contro会奔溃,你打断点调试会发现,这个xib下的控件都为nil,这是因为没有加载这个xib吧(个人猜测) 也有人说是自动继承的问题
2017-05-10 16:39:50 1056
原创 怎么完整的写单例
//保存单例对象的静态全局变量 static id _instance; + (instancetype)sharedTools { return [[self alloc]init]; } //在调用alloc方法之后,最终会调用allocWithZone方法 + (instancetype)allocWithZone:(struct _NSZone *)zone
2017-05-09 22:52:16 336
原创 GCD之dispatch_apply
dispatch_apply的作用是快速迭代dispatch_apply替代for全局队列、串行队列,主队列说明一dispatch_apply的作用是快速迭代 /** dispatch_apply快速迭代 @param count] 遍历的次数 @param 0 在哪个队列执行闭包的代码 @param 0 执行
2017-05-08 21:13:22 978
原创 GCD之dispatch_group_create
dispatch_group_create是建一个组// 创建一个组 dispatch_group_t group = dispatch_group_create();常见用法:异步执行两个网络请求,等这两个请求数据完毕后,再刷新主线程 dispatch_group_t group = dispatch_group_create(); // 创建并行队列 dispatch_q
2017-05-08 19:42:02 2114
原创 GCD之dispatch_set_target_queue
dispatch_set_target_queue这个方法的作用是把多个在异步环境下的串行队列,串行同步起来// target主串行队列 dispatch_queue_t target = dispatch_queue_create("target", DISPATCH_QUEUE_SERIAL); dispatch_queue_t queue1 = dispatch_queue_creat
2017-05-08 18:07:19 768
原创 app挂起token失效解决方案
一 场景描述一般token失效这种情况比较长出现在iOS系统上因为当你登录一个app的时候,但是你后台不允许app在后台刷新数据,这时候你按home键退到后台,app就会被挂起,那么挂起时间久了就会导致token失效也就是常见你,当挂起一个app,过阵子再进入的时候会发现登录异常重新登录比如,王者荣耀,当挂起久了,点进去会出现登录异常,等重新登录二 解决方案当token失败的时候,你的app是可以处
2017-05-08 13:12:24 22651
原创 C++
vector初始化二维数组// 另一种二维数组初始化方法vector<vector<int>> mat(2,vector<int>(3,1));// 其中2表示行数,3表示每行有多少个,1表示每个单位储存的值 int a[][3] = {{1,2,3},{4,5,6},{7,8,9}}; vector<vector<int> > mat(3); // 定义这个有多少行 for (
2017-05-08 13:04:23 274
原创 2017年iOS提高
1.全局常量正规写法:全局变量不能定义在自己类中,开发中便于管理所有的全局变量,通常搞一个GlobeConst文件,里面专门定义全局变量,统一管理,要不然项目文件多不好找。2.类方法中调用实例方法[[[self class] alloc] 实例方法];3.alert的取消注意点 [_alert dismissViewControllerAnimated:YES completion:^{
2017-05-07 17:04:49 991
原创 页面置换算法
最佳置换算法先进先出(FIFO)置换算法最近最少未使用(LRU)算法1.最佳置换算法(理想化算法)淘汰最久不被访问的页面 例题: 系统为某进程分配3个物理块,进程访问页面的顺序是0,7,6,5,7,4,7,3,5,4,7,4,5,6,5,7,6,0,7,6 访问页面 0 7 6 物理块 0 0 0 7 7 6接下来,
2017-05-06 21:23:02 931
原创 点击cell中的按钮加载自定义视图
一、项目介绍这个项目的功能是我点击tableView中cell的按钮,然后加载一个自定义的视图到这个cell中效果如图二、开发要求1.swift3.02.Xcode8.2三、步骤讲解1.创建xib文件,并初始化xib对应的.swift文件 2.讲解下上面的代码 // 系统自身的方法 override init(nibName nibNameOrNil: String?, bundle
2017-03-11 14:57:22 566
原创 swift3.0蓝牙开发(2)
承接上篇swift3.0蓝牙开发(1)三.代码展示1.设置代理 CBCentralManagerDelegate 中心者的代理 CBPeripheralDelegate 外设的代理class ViewController: UIViewController,CBCentralManagerDelegate,CBPeripheralDelegate2.定义全局的中心者对象 /// 中心者对
2017-03-01 14:12:47 1953
原创 swift3.0蓝牙开发(1)
一.知识(1).外设:指被手机蓝牙连接的对象,准确的说是被中心设备连接的对象(2).中心设备:也叫中心者,就是发起蓝牙扫描和连接的设备(通常是手机或者ipad)(3).服务:每个外设都会有1到多个服务,每个服务负责不同的模块(类似对面向对象语言的类)(4).特征:每个服务下面都会有1到多个特征,每个特征负责不同的功能(类似于oc语言的属性)(5).UUID:服务和特征都会有唯一的UUID,外设也会有
2017-03-01 13:20:08 1560
原创 segue跳转
1.故事板不用连线的跳转//“Main” 是故事版的名字,切记是故事版的,不是页面的id //“ApproveOwnerViewController” 页面的idlet approveOwnerViewController = UIStoryboard(name: “Main”, bundle: Bundle.main).instantiateViewController(withIdentifi
2017-02-28 19:32:02 576
原创 sql语法
一、创建 create table 表名 ( 列名 数据类型 列级完整性约束,);eg: create table Student( Sno CHAR(9) primary key,);二、修改表 1.alter table 表名 add add 新列名 数据类型 完整性约束 // 添加新的列 alter column 列名 数据类型 列级完整性约束 //修改已有属性的数据类型或者添加
2017-01-05 17:21:36 335
原创 数据库系统概述绪论
一、4个基本概念 1.数据(data)、数据库(DB)、数据库管理系统(DBMS)和数据库系统(DBS) DBS包括DB和DBMS二、数据模型 三个数据模型: 层次模型、网状模型、关系模型 1.层次模型:任何一个给定的记录值只能按其层次路径查看 类似 1-n的结构2.网状模型:层次模型中子女与双亲结点的联系是唯一的,而在网状模型中这个联系可以不唯一 N-M
2017-01-05 12:56:46 711
原创 规范化理论-函数依赖-范式-简单粗暴
一.为什么要设计范式? 避免插入,删除,冗余异常二、基本概念 实体:一张数据库表,比如:学生表,学生就是一个实体 属性:一张表(实体)会有很多属性,比如一个学生实体会有学号,班级等属性 候选码:可以决定其他属性的集合,比如A->B ,A->C,C->D 那么A,B,C就是候选码 主码(主关键字):候选码中的一个,例如学生的学号就可以作为一个主码,因为这个学号可以决定班级,等等其他
2017-01-04 21:59:58 2398
原创 DecimalFormat 类
DecimalFormat 类 DecimalFormat 类的作用是格式化数据,#和0都代表一个数字位这里主要区分java.text.DecimalFormat(“#.0000000”); java.text.DecimalFormat(“#.######”);这两个都是保留小数点后7位 但是0的意思是,但小数点后不够7位用0补全,#就不会eg: 设置为DecimalFormat(“###
2016-11-25 14:03:07 494
原创 Xcode7.2免证书真机调试(详细图文教程)
1.将你的iPhone连接上mac (直接用数据线插上电脑就行了,等一会会自动识别,不然就点开mac的iTunes会自动去识别连接你的iphone到mac)2.打开你的项目3.4.5.6.7.8.9.登录后并不会马上显示你的apple账号出来,我的4M的宽带,可能跟网速有关系,也出现过一只没显示,就再登录看看10.11.刚进去是要loading一会的12.13. 1、2、3步来到code sig
2016-09-19 12:33:59 443
原创 95 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation) 意思:链接失败 原因:ld: 95 duplicate symbols for architecture i386 95复制符号i386架构 这个错误就是说明这个项目有重复使用的文件.m或者.h 继续看那些i386的错误后面,是PM
2016-09-19 11:38:41 451
原创 A build only device cannot be used to run this target.
A build only device cannot be used to run this target. 造成这个错误的原因是,你选择的版本号,在虚拟机中没有, 所以我们要重新选择版本号
2016-09-10 19:46:10 16054
原创 链接错误
直接上图吧 那时候我遇到这个错误,百度了很多,那时候我精力都集中在那句红色代码那 其实对于这种错误,导致的问题有很多,我知道的有5种,但实际遇到的有两种,这是第一种 那么对于这种错误主要是看ld:后的内容,这个内容会告诉你,错误是什么 好了,接下来看我,解决了的问题 好了,我们看ld:后的内容“-pie只能使用在4.2以及以上的版本” 所以这样我们就直接去修改项目的版本就可以解决
2016-09-10 16:23:43 394
原创 第三方库头文件找不到
第三方库头文件找不到 如果出现这种情况,不要着急,首先,这个error的意思是 找不到文件 那么这个文件是第三方库的 这时候就可以重新导入第三方库 一、 这是第一种解决方法,通过Link Binary With Libraries库管理,来重新添加和删除 二、第二种方法是重新导入(更新)第三方库 1. 打开终端,输入pod search + 你要的第三方库的名字 例如:
2016-09-06 16:30:08 2005
原创 index++和index+1严重区别
大家好!这个index++和index+1看似非常简单的理解,也许会认为就算发生错误,我也可以很容易的发现,但是当这样用的时候,就会出现逻辑错误了。self.noLabel.text = [NSStringstringWithFormat:@"%d/%ld",self.index+1,self.questions.count];self.noLabel.text = [
2016-03-18 11:38:42 4430
原创 自动释放池的工作流程
#import #import "RetainTracker.h"int main(int argc,const char * argv[]) { NSAutoreleasePool *pool; pool = [[NSAutoreleasePool alloc] init]; RetainT
2016-01-30 16:56:17 550
空空如也
swift3.0 alamofire 单例
2017-03-07
【iOS开发】xcode添加虚拟机失败
2016-06-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人