iOS 开发笔记-Objective-C之KVC、KVO】的更多相关文章

kvc是用来方便的设置实例的属性值的,比如person类的实例p1有一个name的属性,那么我们可以通过kvc去设置p1的name,语法是: [ 对象 setValue:@"xiaming" forKey:@"name"];其中xiaoming就是p1的name,这个就相当于用点语法给p1设置name:p1.name = @"xiaoming"; 以上就是kvc的简单实用.接下来是kvo,kvo是键值观察,如果我想知道某个值,是否变化,变成什么,…
KVC(Key-value coding)键值编码,单看这个名字可能不太好理解.其实翻译一下就很简单了,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值.而不需要调用明确的存取方法.这样就可以在运行时动态在访问和修改对象的属性.而不是在编译时确定,这也是iOS开发中的黑魔法之一.很多高级的iOS开发技巧都是基于KVC实现的.目前网上关于KVC的文章在非常多,有的只是简单地说了下用法,有的讲得深入但是在使用场景和最佳实践没有说明,我写下这遍文章就是给大家详解…
在阳春4月的一天晨会上,有一个老板和蔼的对他的一个菜鸟手下说:“你既然会Android,那你能不能开发iOS?” 不是说好的要外包的吗?内心跌宕,但是表面淡定的菜鸟手下弱弱的回道:“可以试试”. 第二天,老板给了菜鸟手下一台Mac Book Pro和一部iphone 5C,说:“这都是我用的,现在给你,数据我都清掉了,你得重新申请1个Apple ID.” 菜鸟手下战战兢兢.小心翼翼的来到了iOS殿堂的门前,首先遇到了2个门神,Object-C和Swift. 对于一个习惯了Java的开发者的审美,…
Text主要总结UILabel.UITextField.UITextView.UIMenuController以及UIWebView/WKWebView相关的一些问题. UI细节主要总结界面交互开发中遇到的一些细节问题,包括Masonry部分的问题. 动画介绍最近用到的两个,算是常用级别的,动画这部分之后会专门研究总结下. 最后介绍两个工具及三个Xcode使用设置的问题. 1.Text (1)UILabel显示多行文字并且文字置顶显示 不限制UILabel的高度(宽度需要设置,确定文字何时换行)…
iOS开发笔记-两种单例模式的写法   单例模式是开发中最常用的写法之一,iOS的单例模式有两种官方写法,如下: 不使用GCD #import "ServiceManager.h" static ServiceManager *defaultManager; @implementation ServiceManager +(ServiceManager *)defaultManager{ if(!defaultManager) defaultManager=[[self allocWi…
iOS开发笔记--什么时候调用layoutSubviews 分类: iOS2014-04-22 16:15 610人阅读 评论(0) 收藏 举报 今天在写程序时候遇见layoutSubviews触发时候引起的问题.特来总结一下什么时候会触发layoutSubviews:layoutSubviews在以下情况下会被调用: 1.init初始化不会触发layoutSubviews 2.addSubview会触发layoutSubviews 3.设置view的Frame会触发layoutSubviews…
IOS开发笔记(4)数据离线缓存与读取 分类: IOS学习2012-12-06 16:30 7082人阅读 评论(0) 收藏 举报 iosiOSIOS 方法一:一般将服务器第一次返回的数据保存在沙盒里面.这样在手机断网的情况下可以从本地读取数据了. 1.保存到沙盒的代码: + (void)saveCache:(int)type andID:(int)_id andString:(NSString *)str; { NSUserDefaults * setting = [NSUserDefault…
IOS开发笔记  IOS如何访问通讯录 其实我是反对这类的需求,你说你读我的隐私,我肯定不愿意的. 幸好ios6.0 以后给了个权限控制.当打开app的时候你可以选择拒绝. 实现方法: [plain] view plaincopy //读取所有联系人 -(void)ReadAllPeoples { //取得本地通信录名柄 ABAddressBookRef tmpAddressBook = nil; if ([[UIDevice currentDevice].systemVersion float…
前言 这个系列主要是一些开发中遇到的坑记录分享,有助于初学者跨过这些坑,攒够 7 条发一篇. 声明  欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 正文 1.用动画更新约束没有动画效果? 缺少 layoutIfNeeded ,事例: UIView.animateWithDuration(0.15, animations: { () -> Void in self.heightConst…
 iOS开发中消息传递机制(KVO/NOtification/Block/代理/Target-Action)   今晚看到了一篇好的文章,所以就搬过来了,方便自己以后学习 虽然这一期的主题是关于Foundation Framework的,不过本文中还介绍了一些超出Foundation Framework(KVO和Notification)范围的一些消息传递机制,另外还介绍了delegation,block和target- action.   大多数情况下,消息传递该使用什么机制,是很明确的了,当…