关闭

iOS runtime 运行时( 三 深谈)

OK! 让我们接着上一篇来 谈谈 runTime 上一篇 聊的是: 在不知道一个对象有什么属性的情况下, 获取对象的所有属性,然后可以改变属性的值, 今天我们谈谈 怎么通过Category(类别)+runtime 给一个类 添加一个新的属性,一般情况下,我们通常背的概念都是,Category(类别)只可以添加方法,不可以添加属性,但是有了runTime之后,一切就不一样了 上代码喽·····引入...
阅读(193) 评论(0)

iOS runtime 运行时( 二 深谈)

Attention!逆天的来了 我们在编程过程中,如果使用到了runtime(运行时),我们几乎都是想动态的改变这个类的信息,包括方法,属性,balabala的,并且获得这个类的一些信息,等等,下面我们就来看看怎么通过runtime提供的方法,来达到这些目的 1). 获取 这个类的所有属性 .h 文件@interface RTObj :NSObject @property(nonatomic,...
阅读(286) 评论(0)

iOS runtime 运行时( - 俗谈)

忙里偷个闲,来稍微写点谈到运行时,相对应的就有编译时;1).运行时– 直到程序运行时才去确定一个对象的具体信息,并且可以改变这个类的具体信息,包括它的方法,变量等等;2).编译时– 是在程序运行之前,编译的时候,就确定了这个对象的具体信息,并且不可改变先来说说,运行时,确定一个对象的具体信息的例子NSString *str = [NSArray arrayWithObject:@"3"]; NSLo...
阅读(194) 评论(0)

Xcode(7.2) 使用技巧(3)

1、让XCode反馈足够多的信息 在Edit–>Scheme里面 找到Arguments ,在Environment Variables这里添加 把下面2个值设置成YES NSAutoreleaseFreedObjectCheckEnabled NSDebugEnabled 这种方法非常好用,建议在建立一个工程的时候,加入此设置 2. 让 NSLog...
阅读(191) 评论(0)

Xcode(7.2) 使用技巧(2)

1.开启 Enable NSZombie Objects(开启僵尸对象) 模式 Enable NSZombie Objects可能是整个Xcode开发环境中最有用的调试技巧。这个技巧非常非常容易追踪到重复释放内存 或者 使用已经释放的内存地址 的问题。该技巧会以非常简洁的方式打印指出重复释放的类和该类的内存地址。 怎么开启僵尸对象呢?首先打开“Edit Scheme”,然后选择Diag...
阅读(282) 评论(0)

Xcode(7.2) 使用技巧(1)

Xcode 中 内置GDB(UNIX及UNIX-like下的调试工具),我们可以在命令行中使用GDB 命令来调试我们的程序。下面将介绍一些常用的命令以及调试技巧。 1.po 命令:为 print object 的缩写,显示对象的文本描述(显示从对象的 description 消息获得的字符串信息)。 如上图所示,我使用 po 命令显示一个 NSDictionary...
阅读(407) 评论(0)

https+ssl详解

这是转载别人的写的很好,(转:崔永秀) 把这几天学习到的关于ssl和https协议的内容在这里分享一下,适合一些像我一样的网络协议初学者。 ssl协议的起源和历史我就不再多说了,就是那个Netscape 网景公司开发的,它的作用主要是提供了一种安全传输方式,我们知道网上有很多的时候需要我们去输入用户名和密码,那么假设我们自己的电脑防病毒还可以,但是用户名和密码肯定还是要通过互联网来传到服务...
阅读(398) 评论(0)

详解 CALayer 和 UIView 的区别和联系

1.首先UIView可以响应事件,Layer不可以. UIKit使用UIResponder作为响应对象,来响应系统传递过来的事件并进行处理。 UIApplication、UIViewController、UIView、和所有从UIView派生出来的UIKit类(包括UIWindow)都直接或间接地继承自UIResponder类。 在 UIResponder中定义了处理各种...
阅读(206) 评论(0)

CACurrentMediaTime , CFAbsoluteTimeGetCurrent, NSDate 区别

NSDate 属于Foundation  CFAbsoluteTimeGetCurrent() 属于 CoreFoundatio CACurrentMediaTime() 属于 QuartzCore 本质区别:  NSDate 或 CFAbsoluteTimeGetCurrent() 返回的时钟时间将会会网络时间同步,从时钟 偏移量的角度,mach_...
阅读(935) 评论(0)

iOSAPP 本地化

最近要对一款游戏进行多语言本地化,在网上找了一些方案,加上自己的一点点想法整理出一套方案和大家分享! 多语言在应用程序中一般有两种做法: 一、程序中提供给用户自己选择的机会; 二、根据当前用户当前移动设备的语言自动将我们的app切换对应语言。 第一种做法比较简单完全靠自己的发挥了,这里主要讲第二种做法,主要分一下几点: 1.本地化应用程序名称 2.本地化字符串 3.本地化图片 4....
阅读(373) 评论(0)

推送PEM 文件的生成

先生成p12文件,然后 openssl pkcs12 -in ck.p12 -out ck.pem -nodes...
阅读(179) 评论(0)

此证书的签发者无效

m 1,按照你那个链接下载,https://developer.apple.com/certificationauthority/AppleWWDRCA.cer,并安装。 2, 在“钥匙串”里选择“登录”,然后点选“证书”,在这个界面,选择工具栏的“显示” -> “显示过期证书”,这时候你会发现一个过期的“WWDR Certificate”(Apple Worldwide Develo...
阅读(276) 评论(0)

分享你最喜欢的技巧和提示(Xcode,Objective-C,Swift,C...等等)

笔者分享总结如下(本篇会不定期进行更新) : Objective-C 1.让Xcode的控制台支持LLDB类型的打印 这有什么用? 怎么说尼,笔者认为这个还是比较有用滴,为什么有用尼? 因为在Xcode断点调试的时候, 在控制台输入 po self.view.frame 或者 po id 类型的时候就死翘翘了。 不信? 看如下图 : 进入正题 打...
阅读(284) 评论(0)

OC 与JS(WebView)交互

在WebView 上 做用户交互操作时(点击WebView),可以在如下的方法里截取Url,必须保证是这个交互操作所对应的唯一的 URl - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationT...
阅读(347) 评论(0)

什么时候使用回调函数和使用回调的好处

什么时候使用回调函数? 假设有A、B两个类。 (1)A类有多种形态,要在B类中实现回调函数。如假设A类是网络请求开源类ASIHttpRequest,它可能请求成功,也可能请求失败。这个时候,B类就要针对以上两个情况,作不同的处理。 (2)A类的形态由B类决定时,要在B类中实现回调函数。如UITableView类就会提供很多回调函数(iOS专业术语称“委托”方法) (3)...
阅读(7315) 评论(0)

浅析回调函数

回调函数,本质上也是个函数(搁置函数和方法的争议,就当这二者是一回事)。由"声明"、"实现"、"调用"三部分组成。 再加一部分就变成了回调函数 回调特征:---   方法的实现不在本类,但是调用在本类 上一个例子: A.h 文件 //声明回调函数:给指定的员工发放工资 -(void)paySalaryForStaff:(int)staffId withMoney:(void(^)(...
阅读(461) 评论(0)

iOS 上传头像处理

上传头像处理图片 对新手iOS开发者一直是比较麻烦和模棱两可的事情,这里我给大家提供一种方法 首先从相册里选择图片,允许编辑     photoImage = [info objectForKey:UIImagePickerControllerEditedImage]; 拿到编辑后的图片,然后根据编辑后的图片, 1.生成一个包括图片所有内容的 正方形图片,原图是长方形的话,长方形...
阅读(354) 评论(0)

iOS RSA 加密

第一步,制作自签名的证书 1.最简单快捷的方法,打开Terminal,使用openssl(Mac OS X自带)生成私钥和自签名的x509证书。 openssl req -x509 -out public_key.der -outform der -new -newkey rsa:1024 -keyout private_key.pem -days 3650 按照命令行的提示输入内容就行了。...
阅读(332) 评论(0)

Swift String 扩展

extension String{     //分割字符     func split(s:String)->String[]{         if s.isEmpty{             var x=String[]()             for y in self{                 x.append(String(y))             } ...
阅读(220) 评论(0)

NSCopying NSCoding

NSCopying 协议有一个 方法 - (id)copyWithZone:(NSZone *)zone { } 代表复制一块本身的内存区域,如果要复制本身的属性等别的不属于内存的东西,需要重写这个方法,另外做操作 NSCoding 用于把一个NSObject 和它的属性NSString、NSNumber 等序列化,使之可以一起存入本地,并且从本地读取 ...
阅读(184) 评论(0)
49条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:24003次
    • 积分:548
    • 等级:
    • 排名:千里之外
    • 原创:29篇
    • 转载:19篇
    • 译文:1篇
    • 评论:0条
    文章分类