- 博客(65)
- 收藏
- 关注
转载 Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are
今天pod search 一个库时发现搜索到的版本比github上的最新版本旧,于是采用下面的命令更新Cocoapods的库pod repo update master –verbose 执行后却报了下面的错误:Updating spec repo master [!] Failed to connect to GitHub to update the CocoaPods/Specs ...
2018-05-12 11:21:33
852
转载 大牛博客
http://www.jianshu.com/p/9216c561b0f8http://blog.youkuaiyun.com/column/details/ryan-zone.htmlhttp://blog.youkuaiyun.com/ryantang03/article/details/7877120http://www.cnblogs.com/martin1009/category/332
2018-04-25 19:51:50
270
转载 Core Foundation
先来说说「Core Foundation」(以下简称CF)的历史吧。当年乔布斯被自己创办的公司驱逐后,成立了「NeXT Computer」,其实做的还是老本行:卖电脑,但依旧不景气。好在NeXTSTEP系统表现还不错,亏损不至于太严重。正好此时苹果的市场份额大跌,急需一个新的操作系统,结果大家都知道了,乔布斯借此收购,重新回到了苹果。这里就牵扯到了一个问题,如何让旧有的系统(Mac OS
2018-04-25 19:23:51
273
转载 多页和单页应用模式区别
webx5单页模式打开方式:justep.shell.showpage();多页模式打开方式:window.loacation.href = require.tourl();
2018-04-18 18:56:03
276
转载 target overrides the FRAMEWORK_SEARCH_PATHS build
target overrides the FRAMEWORK_SEARCH_PATHS build今天遇到报这样的错:The `APP_NAME [Debug]` target overrides the `FRAMEWORK_SEARCH_PATHS` build setting defined in `Pods/Target Support Files/Pods/Pods.debu
2018-02-28 18:29:50
1787
转载 深入浅出 JavaScriptCore
原文:http://www.cocoachina.com/ios/20170720/19958.html写在前面本篇文章是对我一次组内分享的整理,大部分图片都是直接从keynote上截图下来的,本来有很多炫酷动效的,看博客的话就全靠脑补了,多图预警 :)概览JavaScriptCore 简介Objective-C 与 JavaScript 交互
2018-02-07 15:15:48
207
转载 iOS Masonry约束自定义TableViewCell自适应行高的约束冲突的问题
纯代码使用Masonry进行子控件约束的时候(尤其是tableViewCell的子控件自动适应行高),经常会出现下面约束警告2017-12-29 16:24:42.645364+0800 project[3804:770025] [LayoutConstraints] Unable to simultaneously satisfy constraints. Probably at l
2018-01-31 17:00:28
3130
转载 Objective-C 对 URL 进行 URLEncode 编码
在 iOS 程序访问 HTTP 资源时需要对 URL 进行 Encode,比如像拼出来的 http://unmi.cc?p1=%+&sd f&p2=中文,其中的中文、特殊符号&%和空格都必须进行转译才能正确访问。在 Java、.net 和 JS 中都有相应的 encodeURL 方法可用,在 Objective-C 语言中,你可以试下- (NSString *)stringByAd
2017-12-22 20:54:23
383
转载 StarUML mac版本破解
参考:http://bbs.chinapyg.com/thread-79022-1-1.html各平台版本均适用,本文更改的为Mac版本。这个博文传播比较广了。目前要提醒大家还是有经济能力支持正版、支持正版、支持正版1,打开对应 mac版本的安装包位置,在对应目录/Applications/StarUML.app/Contents/www/license/node/L
2017-12-18 19:26:20
1135
转载 NSURLProtocol和NSRunLoop的那些坑
最近用AFNetworking替换掉了工程里的ASIHttpRequest,结果陆续碰到很多问题:·如何统一地添加全局的HTTP头(不仅仅是UA而已)·如何优雅地进行流量统计·对特定的地址进行CDN加速(URL到IP的替换)·怎么实现HTTP的同步请求前三个需求对于ASIHttpReqeust来说都不是问题,只需要在几个统一的点进行修改即可。而使用AFNet
2017-12-07 14:05:40
237
转载 [OC]之 atomic 与 nonatomic的区别
我们声明属性的时候,必须要考虑到属性特质对编译器所产生的存取方法的影响。下面我们就主要讲讲atomic 与 nonatomic:在默认情况下,由编译器所合成的方法会通过锁定机制确保其原子性(atomicity)。如果属性具备nonatomic特质,则不需要同步锁。请注意!!!!尽管没有名为atomic的特质(如果某属性不具备nonatomic特质,那它就是“原子的”(ato
2017-11-28 01:05:07
267
转载 IOS开发中NSRunloop跟NSTimer的问题
在Windows时代,大家肯定对SendMessage,PostMessage,GetMessage有所了解,这些都是windows中的消息处理函数,那对应在ios中是什么呢,其实就是NSRunloop这个东西。在ios中,所有消息都会被添加到NSRunloop中,分为‘input source’跟'timer source'种,并在循环中检查是不是有事件需要发生,如果需要那么就调用相应的函数处理
2017-11-28 00:51:15
184
转载 Method Swizzling
看到nshipster 的Method Swizzling这篇不错的文章还没翻译,就补充一下,没有逐字翻译,关于associated objects已经有翻译了,大家也可以去了解一下。 method swizzling也许是runtime中最有争议的技术,它的作用就是改变已经存在selector的实现,之所以可以这样是因为方法调用可以在运行时改变:通过改变类的分发表( dispa
2017-11-28 00:46:20
147
原创 IOS开发中 retain 和 strong 区别
在 ARC 机制下, retain 和 strong 基本相同,在 MRC 下,我们可以看到一些不一样:结论: MRC 下, strong 修饰 block 内部进行了 copy
2017-11-28 00:23:45
1606
原创 IOS开发中ARC下的assign和weak区别
assign是指针赋值,不对引用计数操作,使用之后如果没有置为nil,可能就会产生野指针;而weak一旦不进行使用后,永远不会使用了,就不会产生野指针! 接下来用简单的代码说明一下:
2017-11-27 23:42:46
232
转载 iOS编译过程的原理和应用
前言一般可以将编程语言分为两种,编译语言和直译式语言。像C++,Objective C都是编译语言。编译语言在执行的时候,必须先通过编译器生成机器码,机器码可以直接在CPU上执行,所以执行效率较高。像JavaScript,Python都是直译式语言。直译式语言不需要经过编译的过程,而是在执行的时候通过一个中间的解释器将代码解释为CPU可以执行的代码。所以,较编译语言来说,直
2017-11-27 15:48:28
360
原创 iOS 如何调试第三方统计到的崩溃报告
有一点要记住,不要指望着复现bug靠断点调试,有些bug,例如多线程引起的,很难复现核心命令dwarfdump --lookup 0x0007434d -arch arm7 uau1.3.0.app.dSYM1dSYM文件XCode中 Window->Organizer->选择提交到App Store的Archies->右键,showin finder
2017-11-27 15:38:39
281
翻译 [译]关于iOS和OS X废弃的API你需要知道的一切
原文: Everything You Need to Know about iOS and OS X Deprecated APIs如你所知,已废弃(Deprecated)的API指的是那些已经过时的并且在将来某个时间最终会被移除掉的方法或类。通常,苹果在引入一个更优秀的API后就会把原来的API给废弃掉。因为,新引入的API通常意味着可以更好的发挥新硬件或操作系统的性能,或者可以使用一些
2017-11-27 11:13:05
347
转载 clang -rewrite-objc的使用点滴
原文出自【听云技术博客】:http://blog.tingyun.com/web/article/detail/845clang -rewrite-objc的作用是把oc代码转写成c/c++代码,我们常用它来窥探OC的一些秘密。1、最简单的例子main.m的代码如下:int main(int argc, char * argv[]) { int i=1 ;__blo
2017-11-24 10:10:39
396
原创 NSOprationQueue 与 GCD 的区别与选用
GCD技术是一个轻量的,底层实现隐藏的神奇技术,我们能够通过GCD和block轻松实现多线程编程,有时候,GCD相比其他系统提供的多线程方法更加有效,当然,有时候GCD不是最佳选择,另一个多线程编程的技术NSOprationQueue 让我们能够将后台线程以队列方式依序执行,并提供更多操作的入口,这和 GCD的实现有些类似。这种类似不是一个巧合,在早期,MacOX 与 iOS
2017-11-22 00:22:18
321
转载 iOS开发多线程篇—NSOperation简单介绍
一、NSOperation简介1.简单说明NSOperation的作⽤:配合使用NSOperation和NSOperationQueue也能实现多线程编程NSOperation和NSOperationQueue实现多线程的具体步骤:(1)先将需要执行的操作封装到一个NSOperation对象中(2)然后将NSOperation对象添加到NSOperationQueue中(3
2017-11-22 00:19:14
136
转载 iOS开发多线程篇—多线程简单介绍
一、进程和线程1.什么是进程 进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ、Xcode,系统就会分别启动2个进程通过“活动监视器”可以查看Mac系统中所开启的进程 2.什么是线程1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)线程是进程的基本执行单元,一
2017-11-22 00:16:32
144
转载 iOS开发多线程篇—GCD介绍
一、简单介绍1.什么是GCD?全称是Grand Central Dispatch,可译为“牛逼的中枢调度器”纯C语言,提供了非常多强大的函数 2.GCD的优势GCD是苹果公司为多核的并行运算提出的解决方案GCD会自动利用更多的CPU内核(比如双核、四核)GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程)程序员只需要
2017-11-22 00:04:17
144
原创 URLConnection & URLSession
**************NSURLConnection*****************NSURLConnection -从iOS 2.0 开始就有了,已经有10多年的历史。其异步方法是在ios 5.0 之后才有的,在5.0之前,是通过代理方法来实现网络开发。开发简单的网络请求还是比较方便的,可以利用异步方法。开发复杂的网络请求,例如大文件下载,仍然需要使用代理来开发,
2017-11-21 22:41:09
303
转载 iOS开发之CFNetWork的简单使用
CFNetWork是苹果提供的位于 Core Foundation 中的一个基于C的底层框架,是对更底层OS层BSD socket的封装,著名的网络框架ASI网络请求方面就是对CFNetWork进行封装的。CFNetWork主要依赖俩个API,CFSocket 和 CFStream,CFSocket主要用于网络底层的通信,而CFStream包括CFReadStream 和 CFWr
2017-11-21 22:36:28
578
原创 AFN和ASI的区别
一、AFN和ASI的区别ASI的使用参照文顶顶的http://www.cnblogs.com/wendingding/p/3950027.html 1.底层实现1> AFN的底层基于OC的NSURLConnection和NSURLSession2> ASI的底层基于纯C语言的CFNetwork框架3> ASI的运行性能 高于 AFN2.对服务器返回的数据处理
2017-11-21 22:33:04
213
转载 浅谈HTTP中Get与Post的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 1
2017-11-21 22:24:19
119
转载 TCP协议中的三次握手和四次挥手(图解)
建立TCP需要三次握手才能建立,而断开连接则需要四次握手。整个过程如下图所示:先来看看如何建立连接的。【更新于2017.01.04 】该部分内容配图有误,请大家见谅,正确的配图如下,错误配图也不删了,大家可以比较下,对比理解效果更好。这么久才来更新,抱歉!!错误配图如下:首先Client端发送连接请求报文,Server
2017-11-21 22:03:07
284
原创 Objective-C中为何用copy修饰block
1:什么是block?block其实就是一个代码块,把你想要执行的代码封装在这个代码块里,等到需要的时候再去调用。那block是OC对象吗?答案是肯定的官方文档如下2:block要用copy修饰,还是用strongblock本身是像对象一样可以retain,和release。但是,block在创建的时候,它的内存是分配在栈(stack)上,而不是在堆(heap)
2017-11-20 01:59:14
291
转载 block使用小结、在arc中使用block、如何防止循环引用(zz)
引言使用block已经有一段时间了,感觉自己了解的还行,但是几天前看到CocoaChina上一个关于block的小测试主题: 【小测试】你真的知道blocks在Objective-C中是怎么工作的吗?,发现竟然做错了几道, 才知道自己想当然的理解是错误的,所以抽时间学习了下,并且通过一些测试代码进行测试,产生这篇博客。Block简介(copy一段)Block作为C语言的扩展
2017-11-20 01:27:17
219
转载 __weak与__block区别,深层理解两者区别
准备工作首先我定义了一个类 MyObject 继承 NSObject,并添加了一个属性 text,重写了description方法,返回 text 的值。这个主要是因为编译器本身对 NSString 是有优化的,创建的 string 对象有可能是静态存储区永不释放的,为了避免使用 NSString 引起一些问题,还是创建一个 NSObject 对象比较合适。另外我自定义了一个
2017-11-20 00:27:51
314
转载 text段,data段,bss段,堆和栈
一个程序一般分为3段:text段,data段,bss段text段:就是放程序代码的,编译时确定,只读,data段:存放在编译阶段(而非运行时)就能确定的数据,可读可写就是通常所说的静态存储区,赋了初值的全局变量和静态变量存放在这个区域,常量也存放在这个区域bss段:定义而没有赋初值的全局变量和静态变量,放在这个区域这个够不够清楚呢?堆
2017-11-19 18:27:02
235
转载 (深入理解计算机系统) bss段,data段、text段、堆(heap)和栈(stack)
bss段: bss段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。 bss是英文Block Started by Symbol的简称。 bss段属于静态内存分配。 data段: 数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。 数据段属于静态内存分配。
2017-11-19 18:16:23
635
原创 NSString NSMutableString NSArray NSMutableArray Block 分别用哪些修饰?
NSString NSMutableString NSArray NSMutableArray Block 分别用哪些修饰?
2017-11-19 17:37:00
1541
原创 retain 和 assign 的区别使用
MRC 下,会出现循环 retain 的问题,这种情况下,一次 release 并不能完成释放,如下:#import <Foundation/Foundation.h>@class Person;@interface Car : NSObject@property (nonatomic , retain ) Person * ownerPerson;@end#import <Foundation/
2017-11-19 16:46:44
472
原创 iOS 常用修饰词
【atomic/nonatomic】 (1)atomic[默认属性]:OC使用的一种线程保护技术,是防止在写未完成的时候被另外一个线程读取,造成数据错误。而这种机制是耗费系统资源的,所以在iPhone这种小型设备上,如果没有使用多线程间的通讯编程,那么nonatomic是一个非常好的选择。 (2)nonatomic:非原子性访问,属性赋值的时候不加锁,多线程并发访问会提高性能。但可能会造成
2017-11-19 12:34:55
328
转载 2016 CocosPods安装教程
本文投稿文章,作者:skytoup(Github)CocoaPods简介CocoaPods是一个管理Swift和Objective-C的Cocoa项目的依赖工具。它现在有超过一万八千多个库,可以优雅地帮助你扩展你的项目。简单的说,就是替你管理Swift和Objective-C的Cocoa项目的第三方库引入。官网地址: https://cocoapods.org/安装
2017-11-14 16:46:13
175
转载 【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
写在开头:本文所介绍的方法使用的是iOS8-10中的API,不过支持在iOS11上运行。之后会写一篇介绍如何用iOS11的新API来实现,到时通知大家。(2017-08-16)本文介绍两种UITableView左滑菜单的实现方法,1. 默认, 2. 自定义。效果如下:1. 系统默认效果swipe-default.PNG2. 自定义图标效果 (类似“邮件”应用)swipe-
2017-11-06 17:20:27
4630
转载 UITextView禁用复制粘贴放大
(1) [textView setDelegate:self];(2) [textView setEditable:YES];(3) -(BOOL)textViewShouldBeginEditing:(UITextView *)textView{ return NO;}注意点:textView.editable一定要设置成YES亲测有效
2017-10-26 15:52:44
909
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人