自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 资源 (7)
  • 收藏
  • 关注

原创 Mybatis 运行Generator,针对字段类型为text等会默认产生XXXXWithBlobs的问题

默认情况下会在Mapper.xml中产生XXXWithBlobs如果不需要的话可以修改generatorConfiguration.xml,里面的table加属性,如

2018-08-13 19:23:20 3334

原创 Mac Rootless机制

mac系统下的Rootless机制,让我们在root权限下也不能随心所欲的读写所有路径了,特殊情况下我们需要关闭Rootless时,可尝试如下操作: 1. 重启按住 Command+R,进入恢复模式,打开Terminal。 2. 键入命令 csrutil disable 3. reboot Rootless机制是对抗恶意程序的最后防线,除非特殊需要时我们才将其关闭,否则保持开启状态.如...

2018-08-09 17:51:22 1578

原创 dealloc不调用的原因

1.  ViewController 中的有NStimer,在ViewController消失前没有将NStimer销毁,导致ViewController的引用计数不为0.2.在Block或者delegate中有循环引用情况。解决方法:__weak ViewController *weakSelf = self;...

2018-04-25 16:54:20 758

原创 Mac go开发环境配置的坑

运行项目报错gopath set to GOROOT has no effectgopath的路径与GOROOT不能一样,如我的gopath为usr/local/goGOROOT的路径也为usr/local/go改下gopath路径即可如usr/local

2018-04-20 11:20:34 799

原创 xcode This app could not be installed at this time.

If you importing a custom framework, make sure custom framework->bundle-id is not same as currentAppProject->bundle-id. If you are not sure then simply change the bundle-id of current project.

2018-03-29 09:52:39 2593

转载 系统框架JavaScriptCore实现js和oc交互

https://www.jianshu.com/p/0819c84f9ef1

2018-03-23 15:57:31 715

原创 iOS sdk工程中引用sdk工程

两个sdk工程A和B,想在sdkA工程中引用sdkB工程,如图在sdkA工程中整体将sdkB工程拉进去,然后在A工程中选择Add Files to “YZAdvertiseSDK”,将ProtocolBuffers_ios.xcodeproj导入。...

2018-03-23 15:51:57 1739

转载 iOS 应用程序启动过程及原理总结

序言       当用户点击应用图标之后,应用就开始启动。应用启动完成后,就会展示一系列的视图,和用户进行各种各样的交互(如滑动、点击)。当用户退出应用后,该应用就无法和用户进行交互。这一过程就体现了一个应用的生命周期(从启动到退出)。这里只介绍应用程序的显示部分。       在介绍应用启动过程及原理之前,先来了解一些概念以及其作用。1、UIApplica

2018-01-31 16:38:14 3844

原创 SEL和IMP

SEL:类成员方法的指针,但是不同于C语言中的函数指针,函数指针直接保存了方法的地址,但是SEL只是方法编号。IMP:一个函数指针,保存了方法的地址。每一个继承于NSObject的类都能自动获取runtime的支持,在这样的一个类中,有一个isa指针,指向该类定义的数据结构体,这个结构体是由编译器编译时为类创建的(需要该类继承于NSObject,在编译的时候,编译器自动为程序中

2018-01-26 18:02:29 616

原创 野指针与空指针

野指针只要一个对象被释放了,我们就称这个对象为“僵尸对象”,当一个指针指向僵尸对象,我们就称这个指针为“野指针”,只要给野指针发送消息就会报错。空指针 nil为了避免给野指针发送消息会报错,一般情况下,当一个对象被释放掉后,我们会将这个对象的指针设置为空指针。因为在oc中给空指针发送消息是不会报错的。

2018-01-24 15:10:18 553

原创 变量的分类

局部变量,全局变量,实例变量,成员变量,静态变量,属性变量。头文件:@interface ViewController : UIViewController{ //成员变量(属于类内部,所以不用生成set和get方法) NSArray *array1;}//属性变量@property (nonatomic,strong) NSArray *array2

2018-01-19 17:15:57 871

原创 存储类关键字

auto :修饰局部变量,分配在栈上(既然在栈上,说明它如果不初始化那么值就是随机的),平时定义局部变量时就是定义的auto,只是省略了auto关键字而已。          static :可修饰局部变量也可修饰全局变量。如果局部变量用static修饰时为静态局部变量,它只能在函数内部使用但是一直占据存储空间的变量。(静态局部变量占用内存时间长可读性差,因此,除非必要,尽量避免使

2018-01-19 16:32:53 775

原创 关于const对于指针的限制问题

int  a=10,b=20;    int  * const  p = &a;    无法使p指向其他地址p=&b;                       这样操作是不允许的*p=20;                    可以这样操作 const  int  *p  = &a;  p可以指向其他地址p=&b;                      可以操作

2018-01-11 15:25:45 326

原创 iOS 内存管理机制

alloc 与 init 理解MyClass  *myObj = [[MyClass alloc] init]; =>  MyClass *myObj = [MyClass alloc]; myObj = [myObj init];alloc 分配了内存给对象,让他不释放,并且把地址返回给指针。但是这块内存不能使用,因为没有被正确的初始化。init即是对分配的这块内存进行初始化。[

2018-01-08 18:29:21 539

原创 oc 点语法与java 点语法

很多高级语言都有点语法,能使这种语言方便上手快,oc和java中也都有点语法,但他们的含义不太一样。写一个java点语法的demo      public  class  Student{            public   int  age;}      public  class  Test{           public   static  void 

2018-01-03 16:34:26 1983

原创 ffmpeg 的那些坑

在编译支持ffmpeg命令行的静态库时遇到了很多坑,总结修改如下:      1.  修改ffmpeg.c的main函数,因为一个程序不能有俩个main函数,我们可以改成ffmpeg_main,      2.修改exit_program(int)函数,这个函数是清理资源用的,但是在里面调用了退出进程的函数exit,导致每次执行ffmpeg命令程序都会闪退。将exit函数注释掉

2017-12-21 17:54:42 6587

原创 ios ffmpeg编译支持命令行的静态库文件

脚本:https://github.com/kewlbear/FFmpeg-iOS-build-script 在命令行执行命令: sh  build-ffmpeg.sh用这个脚本自动在github中把ffmpeg源码下到本地并开始编译,编译好后在当前目录生成了FFmpeg-iOS文件夹。这个文件夹是编译生成的通用库,里面有7个.a的静态库。在xcode导入这些静态库可以使用,具体每个库

2017-12-08 18:35:23 1339 1

原创 git 误删的本地分支恢复方法

1.   git  log  -g 找回之前提交的commit,并记下commit_id2.   git  branch  newbranch  commit_id3.   切换到newbranch分支,检查文件是否存在。

2017-12-06 14:13:07 18005 2

原创 OC stringByAppendingPathComponent和stringByAppendingString的区别

stringByAppendingString是字符串拼接,stringByAppendingPathComponent是路径拼接,stringByAppendingPathComponent会在字符串前自动添加“/”使路径完整。

2017-11-27 17:35:55 727

原创 将framework 发布到cocoapods

cocoapods默认只能基于git的代码管理,所以以下操作基于mac环境安装了cocoapods、并熟悉git操作,当然也可以用其他git平台或者自己搭建git平台。1.建立github仓库,建立成功后clone远程仓库到本地。一定要带一个MIT Lincese。   2.创建Trunk账户   pod trunk register 邮箱地址  ‘用户名’   注册完了会

2017-08-28 15:39:47 581

原创 hibernate 注解开发

使用注解的核心有点就是可以避免繁琐的映射文件,直接创建对象关联。创建具有注解的hibernate应用程序有4个步骤。    1.为MySQL添加链接驱动程序的jar文件和注解    2.创建持久化类    3.在配置文件中添加持久化类的映射。    4.创建索引或者存储持久对象的类。1.自己去下载相应的jar包2.创建持久化类     创建一个持久化的类:User,

2017-08-16 16:52:17 422

原创 关于iOS 静态库.a 合并通用库

.a 分为模拟器运行的和真机运行的,所以需要将它们合并成通用的静态库。在终端中输入 lipo -create  模拟器静态库路径   真机静态库路径   -output  新生成的通用库路径/通用库名称 合并出来的通用静态库需要查看一下支持的架构 lipo -info 通用库路径armv7 和 arm64为真机的静态库  i386 x86_64位模拟器的静态库此处应

2017-08-15 17:09:17 674

原创 hibernate 结合MySQL使用

hibernate的API中常用的有三个类,一个是配置管理类Configuration,一个是SessionFactory代表hibernate.cfg.xml配置文件。还有一个是Session对象用于连接数据库。加载配置,创建session连接数据库等操作每次使用都需要,所以封装成一个工具类

2017-08-14 11:27:15 478

原创 java 代码块,构造代码块,与静态代码块

1.普通代码块:在方法或者语言中出现的{}就是普通代码块。这是我们用的最多最普遍的,它就是在方法名后面加上用{}括起来的代码块。这种普通代码块是不能单独存在的,它必须要跟在方法名后面。public class test {   public  void test{     system.out.printf("普通代码块");    } }2.静态代码块:就在代码块用s

2017-08-10 14:55:59 279

原创 hibernate结合MySQL的环境配置

hibernate 是持久层框架,是对JDBC的封装,核心内容是ORM。使用hibernate可以不用关心繁琐的JDBC,可以大大减少代码量。环境搭建:(以MySql为例)1. 首先需要倒入 hibernate的核心包和依赖包,还有MySql的JDBC驱动包,添加入工程。2.核心配置文件 hibernate.cfg.xml数据库的基本配置信息name="con

2017-08-09 17:43:49 997

原创 JDBC for MySQL的简单实用

JDBC 是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问。首先需要创建一个操作类,用于连接MySQL。需要一个JDBC的jar包:mysql-connector-java-xxx-bin.jarpublic class MySqlHelper { public static final String url = "jdbc:mysql://l

2017-08-08 11:08:45 503

转载 Navicat for mac使用教程

本文转载自:http://www.jianshu.com/p/326c1aaa10521.安装后第一次打开会弹出此框要求你连接mysql。连接名随便填,password 默认为 root.屏幕快照 2014-12-16 上午12.03.48.png2.完成之后,进入主界面你会看到你刚看创建的Connection.(这里我创建的连接名字为DB)屏幕快照 2014-12

2017-08-04 17:26:32 2010

原创 springmvc 配置文件详解

Springmvc 是一个基于DispatcherServlet的MVC框架,所以要先配置一个DispatcherServlet中可以自定义一个servlet.xml的配置文件,前面著名WEB-INF位置,名字为springmvc-servlet.xml,我们也可以不新建springmvc.xml ,而是用默认的,默认的配置文件格式/WEB-INF/[servlet-name]

2017-08-03 11:59:46 332

原创 idea 断点调试

1:Step Over ,进入下一步,如果是方法,那就直接跳过(F8)2:Step Into,进入下一步,如果是方法,就进入方法内部,但是不会进入jdk封装的方法。(F7)3:Force Step Into:强制进入下一步,不管是什么方法,即使是jdk封装的方法,也会进入。(Alt+Shift+F7)4:Step Out:跳转到下一个断点,没有一直运行到最后。(Shift+

2017-08-02 16:29:24 284

原创 idea 启动tomcat报错 Application Server was not connected before run configuration stop, reason: Unable t

解决方法:在host文件中将 127.0.0.1  localhost后面加上主机名127.0.0.1  localhost xxxxx 主机名可以通过hostname获取。

2017-07-26 19:29:41 5371

原创 initWithNibName和loadNibNamed的区别

1.  initWithNibName 只用于初始化controller,loadNibNamed都可以初始化如UIView。2. 加载方式不一样,initWithNibName类似懒加载,用到的时候才会加载。loadNibName是即使加载。

2017-07-18 11:53:43 587

原创 iOS 给类别添加属性

在iOS中,类别使用非常方便,可以在不改动原有代码甚至没有源代码的情况下,添加方法。类别特别适合已经存在大量子类还要添加公用方法。但是类别添加属性就需要用到运行时来关联添加了。因为在类别中去定义属性时,xcode没法生成对应的成员变量,成员变量是类的东西,类别本身不是类。只能用运行时机制手动关联存取过程。demo地址:https://github.com/zhouxiangyu6666

2017-07-10 12:17:55 425

原创 iOS 制作静态库时引入其他静态库

       以前在制作静态库.a的时候也有导入其他静态库,但导入的都是.a形式的静态库,没有什么问题可以将其它的.a 静态库打入自己的.a静态库,然后直接给用户提供自己的.a就行了,关于在我的.a静态库中引用了其它的静态库,用户是并不知道的。但是依赖的系统动态库是无法打入到自己的.a中的,需要用户导入2个静态库.a依赖的所有动态库。今天需要在.a中引入.framework形式的静态库,发现并没有...

2017-07-05 12:36:18 4058

原创 iOS 吐丝提示框

下面是一个吐司提示框的封装,iOS 6以上全部适配,横竖屏也都适配了,不同屏幕尺寸,iphone、ipad也都适配了,操作简单。只需在viewController中指定 横竖屏和提示框内容。[ZXYParam shareInterface].isVer=0;  这是指定代码的横竖屏,0代表横屏,1代表竖屏。[ZXYParam shareInterface].conten

2017-06-27 11:36:30 2887

原创 用 keychain 永久存储

用keychain存储是将信息存入钥匙链中,比NSUserDefaults安全而且app删除还会存在所以用于存储唯一标识和重要的密码等信息。我在KeychainWrapper的基础上做了封装,用了一个单例类ZXYUserManager来对Keychain操作公开了四个属性和五个方法属性可以根据自己项目的需要进行增加或更改。getUserAccountList用于

2017-06-23 15:26:26 289

原创 storyboard及xib的拆分

storyboard和xib的熟练使用可以大大提高开发效率和清晰项目逻辑,但是当开发程序的页面太多,单个页面太复杂时,一定要对storyboard和xib进行拆分。1.storyboard拆分选中想要分开的画面,可以选中一个viewcontroller,按住shif选中多个,点击 Xcode的菜单栏,选择"Editor->Refactor to Storyboard"。

2017-05-27 19:17:38 926

原创 关于storyboard中scrollerview的问题

在 storyboard中如果勾选了autoLayout,在用scrollview的contentsize机制有点坑。在autolayout下,会在viewDidAppear之前根据subview的constraint重新计算scrollview的contentsize。 所以就算你在viewdidload里面手动设置了content size也没有用。因为在后面,会再重新

2017-05-25 11:13:35 460

原创 iOS 关于应用内跳转的问题

在iOS开发中应用内跳转是很常用的,比如第三方登录跳转到授权的App(QQ,微信等),还有第三方支付(微信,支付宝等)开发这些都需要应用内跳转的知识。先大概说下流程:appA想跳到appB,先将appB绑定一个URL Schemes(如:appB),在appA中实现: // 1.获取应用程序App-B的URL Scheme   NSURL *appBUrl = [N

2017-05-04 19:28:13 2135

原创 iOS 微信支付流程

1.去微信开发者平台填写商户信息,签约,注册APP。微信审核大概要一周的时间然后会以邮件的形式通知,并给APPID,Appsecret,API密钥,微信支付商户号,下载SDK导入到工程中(或者用cocoapods),按照文档添加必要的库和设置。2主要来说下开发流程:用户使用APP客户端,选择商品下单。client调用后台接口将用户的商品信息传给s

2017-05-03 19:58:20 820

原创 iOS 即时通讯常用一些概念

近期要开发即时通讯,先看了理论概念,总结一下。即使通讯一般涉及到的协议是传输层协议和应用层协议,传输层有TCP连接和UDP连接,先简单的说下2者的区别:    1.TCP需要三次握手建立连接,而UDP不需要建立连接,所以TCP属于可靠的传输协议,UDP是一种不可靠的传输协议,UDP所谓的连接相当于一种影射,UDP单方面认为目标地址(端口)是可用的,从而首发数据,而实际是未必可用,所

2017-04-26 18:35:50 565

class-dump

class-dump is a command-line utility for examining the Objective-C segment of Mach-O files. It generates declarations for the classes, categories and protocols. This is the same information provided by using 'otool -ov', but presented as normal Objective-C declarations.

2019-02-26

ZXYKeyChain

里面包含一个.a 一个.h 和一个demo

2017-08-18

ZXYCalendar

一行代码就能调用的日历控件。创建一个controller关联到ZFChooseTimeViewController

2017-08-15

JDBC的简单demo

通过登陆注册完成JDBC工具类的封装,以及简单的调用。

2017-08-14

hibernate Demo

通过一个简单的登陆注册实现hibernate工具类的封装,以及简单的demo调用。

2017-08-14

iOS 吐司吐丝提示框

iOS 吐丝提示框,iOS 6以上全部适配,横竖屏也都适配了,操作简单。只需在viewController中指定 横竖屏和提示框内容。

2017-06-27

封装keychain

封装keychain,操作简单,用法灵活,可根据自己项目需要添加存储的属性。

2017-06-23

空空如也

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

TA关注的人

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