- 博客(14)
- 收藏
- 关注
原创 runtime
1.方法交换Method eatMethod = class_getInstanceMethod(self, @selector(eat));Method playMethod = class_getInstanceMethod(self, @selector(play)); method_exchangeImplementations(eatMethod, shirtMethod)...
2019-02-19 23:09:01 106
原创 iOS开发零碎知识点
一、调用代码使APP进入后台,达到点击Home键的效果。(私有API) [[UIApplication sharedApplication] performSelector:@selector(suspend)];suspend的英文意思有:暂停; 悬; 挂; 延缓;二、带有中文的URL处理。大概举个例子,类似下面的URL,里面直接含有中文,可能导致播放不了,那么我们要处理
2017-08-02 16:56:49 438
原创 内存管理
1、内存管理的必要性 (1)若程序没能妥善管理内存,运行过程中不但不能释放不再使用的内存,而且还会不停的分配内存,这样内存的占用越来越多,程序速度也会越来越慢,最后甚至会因为内存的耗尽而崩溃 (2)内存管理范围:任何继承了NSObject的对象,对基本数据类型无效(系统会自动回收);相关名词:这几个名词都要重点结合程序理解!!! (1)内存泄露:程序未能释放已经不再使用的内存;
2017-06-08 23:48:50 300
原创 ios GCD
因为GCD有很多好处啊,具体如下:GCD可用于多核的并行运算GCD会自动利用更多的CPU内核(比如双核、四核)GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程)程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码同步执行(sync):只能在当前线程中执行任务,不具备开启新线程的能力异步执行(async):可以在新的线程中执行任务,具备开启新线程的能力
2017-06-07 22:18:45 329
原创 iOS NSOperation
NSOperation需要配合NSOperationQueue来实现多线程。因为默认情况下,NSOperation单独使用时系统同步执行操作,并没有开辟新线程的能力,只有配合NSOperationQueue才能实现异步执行。NSOperation实现多线程的使用步骤分为三步:创建任务:先将需要执行的操作封装到一个NSOperation对象中。创建队列:创建NSOperation
2017-06-07 21:08:42 238
转载 App Store审核被拒的23个理由
iOS 应用提交审核要持续一周或者更久,在提交之前,我们一定要进行「自我审查」,避免被拒。ASO100 为大家收集整理了2015年 App Store 审核被拒的23个理由,并且附上官方拒绝理由原文,供大家上传应用时对照检查。 应用被拒分为两种:Binary Rejected 和 Metadata Rejected。前者需要重新上传应用并且重新排队,后者只需要修改信息,不需要重新上传应用。
2016-02-29 12:41:57 1506
转载 github常见操作和常见错误!错误提示:fatal: remote origin already exists.
原文链接:http://blog.csdn.net/dengjianqiang2011/article/details/9260435 如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote origin already e
2016-02-24 17:49:49 438
转载 Masonry的使用和介绍
//Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性,而且同时支持 iOS 和 Max OS X。https://github.com/SnapKit/Masonry// exp1: 中心点与self.view相同,宽度为400*400-(void)exp1{UIView *view = [UIVie
2016-02-24 13:52:48 467
转载 iOS开源项目 库
UI下拉刷新EGOTableViewPullRefresh - 最早的下拉刷新控件。SVPullToRefresh - 下拉刷新控件。 MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。 (国人写)XHRefreshControl - XHRef
2016-02-24 13:38:22 3326
原创 Mac 本地代码上传GitHub
运行 git Bash 客户端,输入如下代码:$ cd ~/.ssh$ ls这两个命令就是检查是否已经存在 id_rsa.pub 或 id_dsa.pub 文件,如果文件已经存在,那么你可以跳过步骤2,直接进入步骤3。2、创建一个 SSH key $ ssh-keygen -t rsa -C "your_email@example.com"(注册
2015-12-03 13:58:32 273
原创 iOS 9 系统适配
退回到http协议在项目的info.plist中添加一个Key:NSAppTransportSecurity,类型为字典类型。然后给它添加一个Key:NSAllowsArbitraryLoads,类型为Boolean类型,值为YES;所有的信息明文传播,带来了三大风险:1.窃听风险(eavesdropping):第三方可以获取通信内容2.篡改风险 (tamperin
2015-10-09 17:00:48 317
原创 iOS CocoaPods的安装和使用详解
Ruby是一种功能强大的面向对象的脚本语言Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/ )源来查找、安装、升级和卸载软件包,非常的便捷。CocoaPods是iOS最常用最有名的类库管理工具安装cocoapods1.移除ruby的源地址gem sources --remove h
2015-10-09 14:03:00 424
原创 Xcode中添加.pch文件
1、首先新建工程,工程名为Pch。2、创建PCH文件,命名为PchFile。3、在工程Build Settings中搜索Prefix Header。4、把Precompile Prefix Header 设置为YES(一次预编译后、缓存预编译)。5、然后在 Prefix Header 添加文件 $(SRCROOT)/Pch/PchFile.pch(注:Pch为工程名,PchFile
2015-10-09 11:39:02 292
转载 判断iOS设备的尺寸
UIDevice + TL#import typedef NS_ENUM(NSInteger, DeviceVerType){ DeviceVer4, DeviceVer5, DeviceVer6, DeviceVer6P,};@interface UIDevice (TL)+ (DeviceVerType)deviceVerType
2015-10-09 09:42:11 302
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人