ios
jackshiny
Android/ios 开发者
展开
-
文章标题
Charles 从入门到精通 发表于 2015-11-14 12:00 文章目录 1. 目录 2. 简介 3. 安装 Charles 4. 将 Charles 设置成系统代理 5. Charles 主界面介绍 6. 过滤网络请求 7. 截取 iPhone 上的网络封包 7.1. Charles 上的设置 7.2. iPhone 上的设置 8. 截取 Https 通讯信息转载 2016-08-09 12:00:51 · 310 阅读 · 0 评论 -
ios学习路线
原创 2015-07-22 12:50:28 · 345 阅读 · 0 评论 -
ios afnetworking 错误解决
错误日志:Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (No string key for value in object around character 22.) UserInfo=0x7f7f8b015d60 {NSDebugDes原创 2015-08-13 17:19:33 · 1245 阅读 · 0 评论 -
关于@property的一点理解
@property在xcode4.5之前是对属性的声明,4.5以及之后的版本都是声明和实现(set get方法的声明和实现)。使用@property声明的变量或者属性 我们可以用下划线+变量名访问 :(eg name 可以用_name /self.name访问)。这个下划线来自@synthesize name 常见的是这样写的(xcode4.5以前)其实和下面的一样,系统默认为下面@syn原创 2015-07-30 15:21:19 · 372 阅读 · 0 评论 -
[UIImage resizableImageWithCapInsets:]使用注意
[UIImage resizableImageWithCapInsets:]它带参数: UIEdgeInsets,这是一结构体,包含 上/左/下/右四个参数。函数的作用我们看下文档:Creates and returns a new image object with the specified cap insets.DiscussionYou use this met原创 2015-07-29 11:05:42 · 371 阅读 · 0 评论 -
ios 渐变色
//初始化渐变层 //self.view.backgroundColor = [UIColor colorWithRed:0 green:129 blue:190 alpha:1]; self.gradientLayer = [CAGradientLayerlayer]; self.gradientLayer.frame =self.view.bounds;原创 2015-05-18 17:16:27 · 505 阅读 · 0 评论 -
交叉编译和iphone的cpu架构
1.交叉编译:交叉编译呢,简单地说,就是在一个平台上生成另一个平台上的可执行代码。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。举例来说,我们常说的x86 Linux平台实际上是Intel x86体系结构和Linux for x86操作系统的统称;而x86 WinNT平台实际上是Intel x86体系结构和Windows NT for x86操作系转载 2015-02-23 12:16:38 · 660 阅读 · 0 评论 -
ios国际化-NSLocalizedString
NSLocalizedString1.应用名国际化,添加 InfoPlist.strings2 语言国际化,添加Localizable.strings原创 2014-12-09 17:01:12 · 461 阅读 · 0 评论 -
现有的几种多线程
2. NSOperation:如果需要让线程同时并行运行多个,可以将线程加入队列中,NSOperationQueue类就是一个线程队列管理类,他提供了并行,队列的管理.可以认为NSOperationQueue就是个线程管理器,通过addOperations方法,我们可以一次性把多个(数组形式)线程添加到队列中.同时,NSOperationQueue允许通过setMaxConcurren转载 2015-01-14 14:36:30 · 552 阅读 · 0 评论 -
IOS crash处理
IOS Crash,就两种情况:一种是未捕获的异常,另一种是中断[信号量]#include #include // 系统信号截获处理方法void signalHandler(int signal);// 异常截获处理方法void exceptionHandler(NSException *exception);co转载 2014-12-24 10:26:53 · 389 阅读 · 0 评论 -
IOS程序异常crash捕获与拦截
开发iOS应用,解决Crash问题始终是一个难题。Crash分为两种,一种是由EXC_BAD_ACCESS引起的,原因是访问了不属于本进程的内存地址,有可能是访问已被释放的内存;另一种是未被捕获的Objective-C异常(NSException),导致程序向自身发送了SIGABRT信号而崩溃。其实对于未捕获的Objective-C异常,我们是有办法将它记录下来的,如果日志记录得当,能够解决绝大部转载 2014-12-22 15:46:52 · 778 阅读 · 0 评论 -
iOS的主要框架介绍
框架是一个目录,这个目录包含了共享库,访问共享库里代码的头文件,和其它的图片和声音的资源文件。一个共享库定义的方法或函数可以被应用程序调用。 IOS提供了很多你可以在应用程序里调用的框架。要使用一个框架,需要将它添加到你的项目中,你的项目才可以使用它。许多应用程序都使用了如Foundation、UIKit、和Core Graphics这些框架。根据你为应用程序选择的模版,相关的转载 2015-07-22 14:07:54 · 328 阅读 · 0 评论 -
Xcode 6中添加预编译pch文件
一直在用xcode6开发,但项目都是在xcode5上创建的,所以一直没注意到,xcode6竟然干掉pch文件了。为什么xcode6没有自动创建pch文件呢?简单地看:我们在写项目的时候,大部分宏定义,头文件导入都在这里,Xcode6去掉Precompile Prefix Header的主要原因可能在于Prefix Header大大的增加了Build的时间。没有了Prefix Heade转载 2015-10-12 10:31:18 · 494 阅读 · 0 评论 -
ctive-c中 isEqual ,isEqualToString , == 三者的区别
首先 OC中的对象都是用指针表示,方法的调用是基于消息机制实现,== 比较的自然是指针指向的地址然后 说下 isEqual 和 isEqualToString 的区别IsEqual 是 NSObject 的方法 ,而 isEqualToString 是 NSString 的方法因此从继承关系角度来说isEqualToString 是 isEqual 的衍生方法首先贴转载 2015-10-28 23:00:17 · 585 阅读 · 0 评论 -
StoryBoard中UIScrollView的滚动问题(contentsize)
问题:发现scrollview的contentsize为(0,0)。 而且在viewdidload中设置好像无效。 解决: - (void)viewDidLayoutSubviews { self.scrollView.contentSize = self.scrollView.frame.size;}原因:估计是storyboard对contentsize做了什么设置原创 2016-04-14 00:11:48 · 666 阅读 · 0 评论 -
iOS中block 静态全局局部变量block变量
#import <Foundation/Foundation.h>int gNum = 100;int main(int argc, const char * argv[]) { @autoreleasepool { static int sNum = 100; __block int bNum = 100; int lNum = 100;原创 2016-04-01 17:25:51 · 3940 阅读 · 0 评论 -
iOS常用设计模式
单例模式:确保对于一个给定的类只有一个实例存在,这个实例有一个全局唯一的访问点。它通常采用延迟加载的方式在第一次用到的时候再去创建它。static Singleton *sharedSingleton = nil;static dispatch_once_t once;dispatch_once(&once,^{ sharedSingleton = [[self alloc]init]原创 2016-03-31 22:44:31 · 356 阅读 · 0 评论 -
深入学习:NSOperationQueue, NSRunLoop和线程安全
深入学习:NSOperationQueue, NSRunLoop和线程安全目前在 iOS 和 OS X 中有两套先进的同步 API 可供我们使用:NSOperation 和 GCD 。其中 GCD 是基于 C 的底层的 API ,而 NSOperation 则是 GCD 实现的 Objective-C API。 虽然 NSOperation 是基于 GCD 实现的, 但是并不意味着它是一个 GCD转载 2016-02-19 17:02:47 · 402 阅读 · 0 评论 -
GCD 之线程死锁
GCD相比NSOperation,无法cancel正在进行的线程。 GCD用不好会造成死锁。- (void)viewDidLoad{ [super viewDidLoad]; NSLog(@"=================1"); dispatch_sync(dispatch_get_main_queue(), ^{ NSLog(@"=========原创 2016-03-29 18:18:20 · 665 阅读 · 0 评论 -
关于UITableView的contentInset属性
关于UITableView的contentInset属性 1.关于滚动视图contentSize、contentOffset、contentInset 的整理 contentSize 是scrollview可以滚动的区域,比如frame = (0 ,0 ,320 ,480) contentSize = (320 ,960),代表你的scrollview可以上下滚动,滚动区域为frame大小的两倍原创 2016-03-29 16:50:54 · 15051 阅读 · 0 评论 -
Attempt to present on whose view is not in the window hierarchy!
Attempt to present on whose view is not in the window hierarchy!##- (void)viewDidLoad { [super viewDidLoad]; UIStoryboard *story = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];原创 2016-03-10 14:54:34 · 383 阅读 · 0 评论 -
ios 删除Main.storyboard和 Launch.storyboard
ios 删除Main.storyboard和 Launch.storyboard第一步: 删除Main.storyboard 和LaunchScreen.storyboard第二步: Main storyboard file base name选项。 点击工程名,就是最顶级目录 右侧出现general选项卡 将Deployment info组内的Main Interface设为空转载 2016-03-10 05:59:21 · 1080 阅读 · 0 评论 -
ios俩个APP之间跳转、传值
两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的。1.首先设置第一个APP的url地址2.接着设置第二个APP的url地址3.需要跳转的时候NSString *urlString = [NSString stringWithFormat:@"AppJu转载 2015-10-30 14:40:12 · 550 阅读 · 0 评论 -
防止Block的循环引用 weakself strongself
__weak typeof(self)weakSelf=self; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ __strong typeof(weakSelf)strongSelf=weakSe原创 2015-10-14 15:14:38 · 339 阅读 · 0 评论 -
Quartz 2D编程指南(1) - 概览
Quartz 2D编程指南是论坛会员德鲁伊翻译的国外的Quartz 2D一系列学习资料,供大家参考Quartz 2D是一个二维图形绘制引擎,支持iOS环境和Mac OS X环境。我们可以使用Quartz 2D API来实现许多功能,如基本路径的绘制、透明度、描影、绘制阴影、透明层、颜色管理、反锯齿、PDF文档生成和PDF元数据访问。在需要的时候,Quartz 2D还可以借助图形硬件的功转载 2014-12-05 11:49:20 · 346 阅读 · 0 评论 -
iOS运行回路(RunLoop)总结
首先看两个runloop的示例,来源:http://paste.lisp.org/display/86524第一个: #include static void _perform(void *info __unused) { printf("hello\n"); } static void _time转载 2014-12-05 11:53:06 · 392 阅读 · 0 评论 -
iOS开发UI篇—CAlayer(自定义layer)
iOS开发UI篇—CAlayer(自定义layer)一、第一种方式1.简单说明以前想要在view中画东西,需要自定义view,创建一个类与之关联,让这个类继承自UIView,然后重写它的DrawRect:方法,然后在该方法中画图。绘制图形的步骤:(1)获取上下文(2)绘制图形(3)渲染图形 如果在layer上画东西,与上面的过程类似。代码示例:新建一个类转载 2014-12-05 11:25:53 · 430 阅读 · 0 评论 -
presentModalViewController 的动画效果
系统自带(四种效果):presentModalViewController模态的动画效果设置: [cpp] view plaincopyUIViewController *detailViewController = [[UIViewController alloc] init]; detailViewController转载 2014-11-26 12:57:09 · 369 阅读 · 0 评论 -
block和指针函数
block代码块和指针函数在定义上只有一个符号的细微差别,至于灵活性和使用场景,具体问题具体分析,block比较灵活。#import #import "Student.h"int sumAb(int a,int b){ return a+b;}void testBlock(){ //定义一个block类型转载 2014-11-26 11:13:47 · 602 阅读 · 0 评论 -
Core Animation编程指南
本文是《Core Animation Programming Guide》2013-01-28更新版本的译文。本文略去了原文中关于OS X平台上Core Animation相关内容。因为原文的类型属于编程指南,所以示例代码并不多,更多的是理论层面的探讨。所以译文中加入了大量的示例代码,以提高本文的可操作性。希望本文能够对你有所帮助。本文由海水的味道翻译,转载请注明译者和出处,请勿用于商业用转载 2014-11-25 18:39:53 · 541 阅读 · 0 评论 -
CFNetwork
首先看张图: 此乃MAC OS X系统中CFNetwork和其余软件层的结构图。CFNetwork位于底层,但高效地处理协议栈的操作。BSD套接字提供了一些标准对象来方便操作,如与FTP和HTTP服务器通信,解析DNS主机地址。而CFNetwork就是以BSD套接字为基础。类似,一些cocoa类,如NSURL,使用标准网络协议与服务器通信,就是以CFNetwork为基础。除转载 2014-11-19 10:38:48 · 558 阅读 · 0 评论 -
CocoaPods
CocoaPods是什么?如何下载和安装CocoaPods?如何使用CocoaPods?场景1:利用CocoaPods,在项目中导入AFNetworking类库场景2:如何正确编译运行一个包含CocoPods类库的项目CocoaPods是什么?当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以转载 2014-11-19 11:36:21 · 294 阅读 · 0 评论 -
socket coding
一.Socket简介二.BSD Socket编程准备1.地址2.端口3.网络字节序4.半相关与全相关5.网络编程模型三.socket接口编程示例四.使用select五.使用kqueue六.使用流注:文档中设计涉及的代码也都在本人github目录下,分别为socketServer和socketClient.对应着各个分支。 一.Socket简介转载 2014-11-19 10:26:36 · 328 阅读 · 0 评论 -
C++实现多线程安全的单例模式
根据自己另外那篇文章: 弄的:http://blog.chinaunix.net/uid-25958655-id-4297540.htmlWINDOWS VC++2010下测试通过MultiThreadSingleton.h:#ifndef MULTI_THREAD_SINGLETON_H_ #define MULTI_THREAD_SINGLETON_H_转载 2014-10-29 11:01:51 · 525 阅读 · 0 评论 -
iOS app启动时指定默认方向
最近开发可以旋转的Universal App,在iPhone上面运行App时发现程序启动的时候总是横向(Landscape)启动,由于我习惯于竖向(Portrait)手持设备,所以总觉得很别扭。于是谷歌一番, 有人说在plist里面添加一个key:Initial interface orientation,value:Portrait (bottom home button),于是赶紧添加原创 2014-11-15 10:06:17 · 2094 阅读 · 0 评论 -
UIview和CaLayer的区别
1.UIView是iOS系统中界面元素的基础,所有的界面元素都继承自它。它本身完全是由CoreAnimation来实现的(Mac下似乎不是这样)。它真正的绘图部分,是由一个叫CALayer(Core Animation Layer)的类来管理。UIView本身,更像是一个CALayer的管理器,访问它的跟绘图和跟坐标有关的属性,例如frame,bounds等等,实际上内部都是在访问它所包含的CAL转载 2014-09-15 10:50:00 · 374 阅读 · 0 评论 -
@property
1 assign:为基本数据类型准备的2 copy:建立一个s原创 2014-09-23 11:09:21 · 425 阅读 · 0 评论 -
ios extension
刚开始接触OC再看别人写的代码的时候,常常困惑于人家在声明属性时的写法,总结出来有三中方式,不知道哪一种比较规范化,现在我把三种方式贴出来,然后再一一探讨每个方式声明属性的区别。方式一:直接在@interface中的大括号中声明。@interface MyTest : NSObject{ NSString *mystr;}方式二:在转载 2014-11-25 15:49:47 · 450 阅读 · 0 评论 -
brew 的安装与使用
不想被误导?直接看官方文档:http://mxcl.github.com/homebrew/ 先安装Git,打开一个shellcd /usr/localsudo mkdir homebrewcurl -L https://github.com/mxcl/homebrew/tarball/master | sudo tar xz --strip 1原创 2014-12-16 10:06:26 · 511 阅读 · 0 评论 -
iOS 对矢量图片的支持如何
简单说,iOS 支持矢量图片,不过支持的一般。在系统层面上,iOS 对矢量绘图支持得很好。iOS 的 Core Graphics 框架带有很多矢量绘图命令,简单一些的直线、矩形、椭圆,复杂一些的贝赛尔曲线都可以画,也可以指定填充、描边什么的。如果要是做 App 时想画一个简单的图形,直接用代码就可以画,就省去动用 PS、AI 画然后在导入的功夫了。对于具体的文件类型处理上,(根转载 2014-12-02 14:51:44 · 756 阅读 · 0 评论