小知识点
文章平均质量分 76
zhenganzhong_csdn
这个作者很懒,什么都没留下…
展开
-
Autorelease 原理,有一点注意,目前在ox 64位objc_retainAutoreleasedReturnValue 是优化编译的,将直接return对象不会注册到autoreleasep
我是前言Autorelease机制是iOS开发者管理对象内存的好伙伴,MRC中,调用[obj autorelease]来延迟内存的释放是一件简单自然的事,ARC下,我们甚至可以完全不知道Autorelease就能管理好内存。而在这背后,objc和编译器都帮我们做了哪些事呢,它们是如何协作来正确管理内存的呢?刨根问底,一起来探究下黑幕背后的Autorelease机制。Autorele转载 2015-05-08 23:38:59 · 3217 阅读 · 0 评论 -
为什么不要重写原有类方法
转自:http://m.blog.csdn.net/blog/Hello_Hwc/43964643如果要重写现有类的方法,请考虑使用继承。 ------- 前言: Category是一种向现有类中添加方法,而不需要继承或者改变现有类的方式。在IOS开发中,使用还是十分广发的。例如在CoreData中,用category来为NSManagedObject类添加适当方法转载 2015-10-22 10:17:46 · 910 阅读 · 0 评论 -
c++模版
转自:http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.htmlC++模板 模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板;转载 2015-10-08 16:51:42 · 281 阅读 · 0 评论 -
static_cast, dynamic_cast, reinterpret_cast, const_cast区别比较
转自:http://www.cnblogs.com/jerry19880126/archive/2012/08/14/2638192.html隐式转换(implicit conversion)short a=2000;int b;b=a;short是两字节,int是四字节,由short型转成int型是宽化转换(bit位数增多),编译器没有warning,如下转载 2015-10-09 09:46:10 · 304 阅读 · 0 评论 -
ios uilocalnotification 多个本地通知,怎么有区分的删除
iOS的本地通知是用到了OC的UILocalNotification对象,加入一个通知很简单,创建一个UILocalNotification对象设置一些对应的参数就行了。 // 添加本地通知 UILocalNotification *notification=[[UILocalNotification alloc] init];if (notification!=nil)转载 2015-11-11 14:56:53 · 526 阅读 · 0 评论 -
IOS推送 原理及其小知识
在 iOS 设备上(模拟器无法使用推送),系统收到通知后这样处理:在屏幕上弹出一些选项,或者在屏幕顶部显示横幅(banner)如下图左App 的角标数值发生变化,具体表现为 App icon 右上角的小红点及数字,如邮件中的红点伴随推送消息的提示声音当应用处于前台运行时,系统是不会在屏幕上显示通知,但是仍会调用相应的 API。只有真机可以使用推送功能。转载 2015-10-12 16:27:27 · 1188 阅读 · 0 评论 -
ios7中UIViewControllerBasedStatusBarAppearance作用
在作iOS7的适配时,很多文章都会提到UIViewControllerBasedStatusBarAppearance。便一直不是太明白其实际作用,使用时发现UIViewControllerBasedStatusBarAppearance的实际作用如下: 这个属性只影响如何设置status bar上字体的颜色是暗色(黑色)还是亮色(白色),对status bar的背景色无影转载 2015-10-29 17:45:56 · 418 阅读 · 0 评论 -
UIMenuController使用
转自:http://blog.csdn.net/piziliweiguang/article/details/8281007当苹果在 iOS 3.0 中增加了剪切、复制和粘贴功能时,它同时为开发者提供了 UIMenuController 组件用来定制该弹出菜单,但不幸的是,最开始的实现要很麻烦:附加在菜单的视图的 canBecomeFirstResponser 必须返回 YES转载 2015-10-14 17:56:18 · 338 阅读 · 0 评论 -
iOS App Launch Option
iOS 程序启动时总会调用application:didFinishLaunchingWithOptions:,其中第二个参数launchOptions为NSDictionary类型的对象,里面存储有此程序启动的原因。launchOptions中的可能键值见UIApplication Class Reference的Launch Options Keys节 。若用户转载 2015-11-01 20:18:03 · 339 阅读 · 0 评论 -
C语言中关于float、double、long double精度及数值范围理解
转自:http://blog.sina.com.cn/s/blog_6ebd49350101gdgo.htmlIEEE754浮点数的表示方法。C语言里对float类型数据的表示范围为-3.4*10^38~+3.4*10^38。double为-1.7*10^-308~1.7*10^308,long double为-1.2*10^-4932~1.2*10^4932.类型转载 2015-11-25 16:54:45 · 26396 阅读 · 2 评论 -
C语言函数名与函数指针详解
1.转自 http://c.biancheng.net/cpp/html/496.html二、通常的函数调用一个通常的函数调用的例子:/* 自行包含头文件 */void MyFun(int x); /* 此处的声明也可写成:void MyFun(int) */int main(int argc, char* argv[]){ MyFun(10); /* 这里转载 2016-01-21 10:28:24 · 739 阅读 · 0 评论 -
IOS class cluster
A class cluster is an architecture that groups a number of private, concrete subclasses under a public, abstract superclass. The grouping of classes in this way provides a simplified interface to the转载 2015-12-07 15:12:29 · 312 阅读 · 0 评论 -
Equality and Hashing
转自:https://www.mikeash.com/pyblog/friday-qa-2010-06-18-implementing-equality-and-hashing.htmlFriday Q&A 2010-06-18: Implementing Equality and Hashingby Mike Ash Welcome back to转载 2015-12-08 17:01:58 · 366 阅读 · 0 评论 -
IOS静音还是震动
[(SBMediaController *)[objc_getClass("SBMediaController") sharedInstance] isRingerMuted]越狱环境#define kSpringBoardPlist @"/var/mobile/Library/Preferences/com.apple.springboard.plist"+ (BOOL)vi转载 2016-02-02 09:50:40 · 1147 阅读 · 0 评论 -
逆向探索微信消息界面实现
转自:https://everettjf.github.io/2016/06/19/reverse-explore-wechat-message-design逆向探索微信消息界面实现Jun 19, 2016背景准备初步窥探定位Controller观察ViewsRevealMMTableViewMessageNodeView简单总结观察Controller转载 2016-08-24 14:50:56 · 6273 阅读 · 2 评论 -
苹果ANCS协议分析
转自:http://www.bubuko.com/infodetail-661715.html苹果ANCS协议学习综述苹果通知中心(Apple Notification Center Service, ANCS)的目的是提供给蓝牙外设一种简单、方便的获取ios设备通知信息的方式。 依赖ANCS的使用没有依赖,它是GATT的一个子集,任何一个实现了GA转载 2015-11-03 18:00:41 · 1201 阅读 · 0 评论 -
ios 内存小结
转自:http://blog.csdn.net/x6587305x/article/details/46802447这是 看 书籍 Objective-C 高级编程 ios与os x多线程和内存管理 一书的随记。1 arc首先记录一下几个调试的东西调试 1.查看 autoreleasePool 池里面的对象extern void转载 2015-09-29 20:36:20 · 206 阅读 · 0 评论 -
iOS: 枚举类型 enum,NS_ENUM,NS_OPTIONS
转载 http://blog.csdn.net/annkie/article/details/9877643一般情况下,我们采用C风格的enum关键字可以定义枚举类型。[cpp] view plaincopyenum{ UIViewAnimationTransitionNone, UIView转载 2015-09-29 10:29:59 · 279 阅读 · 0 评论 -
nil/Nil/NULL/NSNull
理解“不存在”的概念不仅仅是一个哲学的问题,也是一个实际的问题。我们是有形宇宙的居民,而原因在于逻辑宇宙的存在不确定性。作为一个逻辑系统的物理体现,电脑面临一个棘手的问题,就是如何用存在表达不存在. 在Objective-C中,有几个不同种类的不存在。这样做的原因要追溯到一个频繁提及的NSHipster,讲解Objective-C如何在C的程序范例以及由Smalltalk启发的面向转载 2015-05-07 11:22:08 · 301 阅读 · 0 评论 -
Objective-C中NSValue的使用
Objective-C中NSValue的使用我们在C/C++开发中常会用到结构体来帮助我们简单封装基本数据类型,在Objective-C中我们也可以使用结构体来完成数据类型的封装。同时,Cocoa Touch还提供了一个NSValue来帮助我们更好地在开发中使用结构体。 我们可以使用NSValue来辅助我们实现一些简单数据结构的封装。比如我们定义了一个简单的结构体类型转载 2015-05-07 20:50:11 · 329 阅读 · 0 评论 -
栈区,堆区,全局区,文字常量区,程序代码区 详解
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2015-05-29 18:50:38 · 317 阅读 · 0 评论 -
linux grep命令详解
简介grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展转载 2015-07-16 19:19:08 · 257 阅读 · 0 评论 -
iOS应用程序状态切换相关
转自:http://blog.csdn.net/duanyipeng/article/details/7101829一、iOS应用程序状态机一共有五种状态:1. Not running:应用还没有启动,或者应用正在运行但是途中被系统停止。2. Inactive:当前应用正在前台运行,但是并不接收事件(当前或许正在执行其它代码)。一般每当应用要从一个状态切换到另一个不同的转载 2015-08-25 14:52:30 · 410 阅读 · 0 评论 -
NSInvocation使用
转自:http://www.cnblogs.com/pengyingh/articles/2359199.htmlhttp://blog.iosxcode4.com/?p=125在 iOS中可以直接调用 某个对象的消息 方式有2种一种是performSelector:withObject:再一种就是NSInvocation第一种方式比较简单,能完转载 2015-08-26 10:20:24 · 246 阅读 · 0 评论 -
线程(进程)上下文
转自:http://blog.csdn.net/hgy413/article/details/7562389(要是有图片等显示不出来查看此链接)让我们来看看CreateThread都干了些什么。 上图显示了系统在创建线程和对线程进行初始化时必须做些什么工作。调用CreateThread可使系统创建一个线程内核对象。该对象的初始使用计数是2(在线程停止运行和从C转载 2015-08-12 11:37:35 · 2815 阅读 · 0 评论 -
NSMethodSignature和NSInvocation的用法
转自http://blog.csdn.net/dean19900504/article/details/8737862SMethodSignature顾名思义应该就是“方法签名”,类似于C++中的编译器时的函数签名。官方定义该类为对方法的参数、返回类似进行封装,协同NSInvocation实现消息转发。通过消息转发可以用B实现A的方法。也是一种多重继承的解决方法。int转载 2015-08-26 11:43:17 · 280 阅读 · 0 评论 -
在Xcode 7上直接使用Clang Address Sanitizer
原文:Address Sanitizer在WWDC 2015上,除了Swift 2.0外,还有一个令人激动的消息:可以直接在Xcode 7上使用Clang的地址消毒剂(Address Sanitizer)了。这篇文章中我们将详细讨论下这个功能,比如它是怎样工作的,以及使用的方法。这是Konstantin Gonikman提议的话题。C语言中一种异常危险的情况从很多方面来转载 2015-08-12 12:30:49 · 790 阅读 · 0 评论 -
Communication Patterns
转自:https://www.objc.io/issues/7-foundation/communication-patterns/Every application consists of multiple more or less loosely coupled objects that need to communicate with each other to get the转载 2015-08-27 00:24:46 · 550 阅读 · 0 评论 -
获取UITableView每行中不同的UITextField输入的内容
转自:http://blog.sina.com.cn/s/blog_9ca91e4a0100xlvu.html获取UITableView每行中不同的UITextField输入的内容 此博文包含视频 (2012-02-2011:05:47)转载▼标签: 杂谈分类: iPhone- (UITableViewCell *)tableView:(UITableView转载 2015-08-13 18:12:32 · 265 阅读 · 0 评论 -
关于问题ld:library not found for -lXXX 和ld:warning:directory not found option 以及duplicate symbol的解决办法
转自:http://www.cfanz.cn/index.php?c=article&a=read&id=131514ld:library not found for -lXXX 的问题有可能是你的某个库的连接引用有问题,解决的办法就是在项目的target里,选中Link Binary With Libraries 里的.a或framework 取消再加转载 2015-09-02 10:55:50 · 1394 阅读 · 0 评论 -
Nullability Annotations
转自http://mobile.51cto.com/iphone-483311_1.htm我们都知道在swift中,可以使用!和?来表示一个对象是optional的还是non-optional,如view?和view!。而在Objective-C中则没有这一区分,view即可表示这个对象是optional,也可表示是non-optioanl。这样就会造成一个问题:在Swift与Object转载 2015-09-05 11:27:17 · 251 阅读 · 0 评论 -
_INTSIZEOF(n)
转自:http://blog.csdn.net/sdcxyz/article/details/7067699其实这个很简单。。不过位运算效率高点。 其实就是为了实现 (x+n-1)/n *n 的功能,(x+n-1)/n 与x/n比较显而易见就是保证商是不小于结果的最小整数.7/2 = 3(计算机中),但我们想要4 所以就需要(7+2-1)/2 = 4; 下面就是_INTSIZEOF(n)位运算转载 2015-09-28 17:17:39 · 301 阅读 · 0 评论 -
iOS获取通知状态并跳转设置界面设置
转自:http://blog.csdn.net/timtian008/article/details/518874121、获取用户通知中心对程序消息通知的设置,是否开启消息通知if ([[UIDevice currentDevice].systemVersion floatValue]>=8.0f) { UIUserNotificationSettings *setti转载 2016-08-24 23:55:43 · 1777 阅读 · 0 评论