![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ios 知识点
反调唱唱
这个作者很懒,什么都没留下…
展开
-
GCD会创建多少个线程
关于GCD队列,系统队列编号有11个,1为主队列,2为管理队列,3保留;4-11为8个全局队列,优先级分别为LOW、DEFAULT、HIGH 和 BACKGROUND,4个队列overcommit为YES,4个为NO;如果为overcommit队列,有新任务就会重新开辟新的线程,其中 dq->dq_width = UINT32_MAX;表示这些队列不限制并发数。任何自己创建的队列默认原创 2018-01-14 01:39:37 · 2826 阅读 · 0 评论 -
UITextField 光标的位置设置获取
转正:http://blog.csdn.net/reylen/article/details/17750523UITextField 光标的位置设置获取通过给UITextField 加一个拓展[objc] view plain copy print?//#import "UITextField+Exte转载 2016-12-12 20:46:33 · 667 阅读 · 0 评论 -
NSNotification调用机制
发送NSNotification的时候是同步机制,接受通知的方法执行完成后才会向下运行。示例代码如下:- (void)viewDidLoad { [superviewDidLoad]; [[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(logOne)原创 2016-07-01 12:42:50 · 261 阅读 · 0 评论 -
IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解
本文章转自:http://blog.csdn.net/xdrt81y/article/details/24331103阅读本文之前首先了解copy与retain的区别,如果有不正确的地方望大家多多指教:copy与retain的区别:copy是创建一个新对象,retain是创建一个指针,引用对象计数加1。Copy属性表示两个对象内容相同,新的对象retain为1 ,与转载 2015-12-14 20:49:55 · 324 阅读 · 0 评论 -
神奇的 BlocksKit (二)
转自:http://draveness.me/blockskit-2/关注仓库,及时获得更新:iOS-Source-Code-Analyze这篇文章『神奇的 BlocksKit』的第二部分,关于第一部分的内容在这里:神奇的 BlocksKit(一)神奇的 BlocksKit(二)动态代理动态代理这部分可以说是 BlocksKit 的精华。它使用 block 属性替换转载 2016-05-09 15:35:53 · 1076 阅读 · 0 评论 -
神奇的 BlocksKit (一)
转自:http://draveness.me/blockskit-1/关注仓库,及时获得更新:iOS-Source-Code-Analyze高能预警:本篇文章非常长,因为 BlocksKit 的实现还是比较复杂和有意的。这篇文章不是为了剖析 iOS 开发中的 block 的实现以及它是如何组成甚至使用的,如果你想通过这篇文章来了解 block 的实现,它并不能帮到你。Blo转载 2016-05-09 15:32:12 · 1462 阅读 · 0 评论 -
iOS调试之 crash log分析
转自:http://www.jianshu.com/p/12a2402b29c2一、crash log的获取当你的app 在手机上crash的时候,会在手机上自动生成一个崩溃日志,也就是我们说的Crash Log。CrashLog的位置位于:iPhone设备的var/mobile/Library/Logs/CrashReporter我们要获取的就是设备中转载 2016-03-28 14:36:26 · 643 阅读 · 0 评论 -
ios 开发中宏定义的三种方式及优先级
ios 开发中有三种方式可宏定义变量1.直接在文件中用 #define ... 来定义:此方式优先级最高,当用多种方式宏定义一个变量时,这种方式为最后的值2.在Build Settings中的Apple LLVM 7.0(或者其他版本号) - Preprocessing->Preprocessor Macros中定义:和第3种方式平级3.用xcodebuild打包,在打包命令行中使用原创 2015-12-29 21:53:51 · 2082 阅读 · 0 评论 -
block与使用变量
1.block中使用外部的static或者global变量int a =2;int main(int argc,char * argv[]) { NSLog(@"a:%p",&a); int (^tBlock)(int) = ^(int val){ NSLog(@"block a:%p",&a); return原创 2016-01-15 15:51:15 · 402 阅读 · 0 评论 -
iOS Crash文件的解析(一)
转自:http://www.cnblogs.com/smileEvday/p/Crash1.html 开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退。脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断。联想起老罗在发布Smartisan OS的时候说了,他准备了10个手机,如果一台有问题,就换一台,如果10台后挂了他就不做手机转载 2017-01-05 21:55:10 · 343 阅读 · 0 评论 -
正确的设置UIView的frame
UITableviewCell在创建时初始化子view时,根据UITableviewCell的frame或者bounds的宽高来设置子view大小,总是不对,比如:imgView.frame = CGRectMake(0,0,cell.frame.size.height,cell.frame.size.height);最终显示的时候宽高总是(320,44),这是cell在初始化的时候默认的原创 2016-12-20 14:41:33 · 2079 阅读 · 0 评论 -
详解Xcode 6的视图调试
http://www.cocoachina.com/ios/20150423/11658.html转载 2016-12-20 16:32:42 · 410 阅读 · 0 评论 -
iOS中数组的优化
先写些结论,有空了再分析iOS使用了类簇模式,比如数据创建NSArray和NSMutableArray时都是通过__NSPlacehodlerArray实现的。只是在alloc时出来的__NSPlacehodlerArray相关16字节,并且在应用里任何地方NSArray *arr =[NSArray alloc]都相同,所有的不可变数组alloc创建的都一样,同样可变数组的也都一样。原创 2018-01-21 22:49:02 · 459 阅读 · 0 评论 -
从一个无tableBar页面popToRootViewController
1.当popToRootViewController时有动画,或者rootViewController无tableBar没有任何问题2.如果rootViewController有tableBar,且返回过程不加动画就会有系统bug:页面无动画,但是tableBar会有一个pop返回的动画效果,因为是系统bug无法修改,并且一般产品也不会轻易修改产品方案,此时只能采用其他方法实现效果。原创 2017-10-18 17:18:16 · 516 阅读 · 0 评论 -
UITableView添加到UIViewController的view时显示问题
如果UITableView的类型为UITableViewStylePlain:无影响,正常如果UITableView的类型为UITableViewStyleGrouped:则会向下滚动了一段距离,严重影响了正常的展示;从网上查几种解决办法:1.设置headerView self.tableView.tableHeaderView = [[UIView alloc] in原创 2017-07-18 15:18:45 · 1234 阅读 · 0 评论 -
afnetworking 3.0 How to POST with headers and HTTP Body
转自:http://www.jianshu.com/p/6a61812aedd2一般请求的话是这样 AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; session.responseSerializer.acceptableContentTypes = [NSSet setWithObject转载 2017-06-19 21:16:16 · 603 阅读 · 0 评论 -
Library not loaded:Reason: image not found 解决
网上下载的demo在模拟器上运行正常,在真机上报:Library not loaded:Reason: image not found。从网上搜方法,试了下都没有效果,按网上的方法又重新组合了下可以了:首先我这出现这个原因是项目直接引用了另一工程。解决方法:1.把Build Phases里 Embed Frameworks里对应的引入项目的frame原创 2017-04-20 16:10:02 · 999 阅读 · 0 评论 -
方法返回值retain类型
1 无返回值或返回值不是一个指针对象。2 不retain返回值(不做引用计数处理),如果没有对象引用该返回值,返回值release(以NS_RETURNS_NOT_RETAINED做标识)。3 retain返回值(引用计数+1),用于init、copy家族方法或者标记有NS_RETURNS_RETAINED的方法)4 标记为autorelease,放入一个autoreleasepool中,并且假设原创 2017-03-28 17:52:30 · 513 阅读 · 0 评论 -
Masonry自动布局label少一行'bug'
一个字符串使用- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(nullable NSDictionaryNSString *,id> *)attributes context:(nullableNSStringDrawingCont原创 2017-01-10 15:21:28 · 1173 阅读 · 0 评论 -
用类别添加方法可能存在的问题
类别添加方法实际上是runtime在运行时向类的MethodList里添加了method。如果和原类里方法名相同的话,在通过seleter查找时,会找到后添加的,这样看起来好像是把系统的方法覆盖了,其实不过是在调用的时候先找到的是类别里的方法。同理如果是有多个类别添加了同一方法系统实际上是会按加载顺序向mothodlist里添加了多个相同seleter的mothod,这样也会导致所有的方法原创 2017-01-13 20:10:41 · 277 阅读 · 0 评论 -
block基础知识
什么是block?1.block和函数指针很象,函数指针的声明方法为:返回值类型 ( * 指针变量名) ([形参列表]);int func(int x); /* 声明一个函数 */int (*f) (int x); /* 声明一个函数指针 */此函数指针指向的函数返回值为一个int类型,参数为一个int类型,f=func; /* 将func函数的首地址赋给指针f */block的原型原创 2016-01-14 20:19:19 · 484 阅读 · 0 评论 -
由NSObject学到的一点基本知识
好久不看OC代码,今天看代码追到NSObject里的时候忽然发现retainCount是在@protocol NSObject里,而不是在NSObject类里(以前真是大意,这基本的东西几年都没有注意到),protocol里还有@property其他内容,就比较奇怪retainCount的定义是在哪,@property表示什么,网上查了一下,1.头文件中@property obj my原创 2015-12-14 18:18:46 · 374 阅读 · 0 评论 -
UITableView,UITableViewCell,UIPickerView,UISearchBar
http://blog.csdn.net/andyweike/article/details/61315071.去掉分隔线,背景: 去掉分隔线: tableView.separatorStyle=UITableViewCellSeparatorStyleNone; //在syle为UITableViewStylePlain有效,隐藏了分隔线,但在UITa转载 2012-05-09 17:54:19 · 2369 阅读 · 0 评论 -
获得通讯录中联系人的所有属性
http://www.cocoachina.com/bbs/read.php?tid=62527ABAddressBookRef addressBook = ABAddressBookCreate(); CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook);转载 2012-04-10 17:17:16 · 1247 阅读 · 0 评论 -
(转)ObjectiveC 深浅拷贝学习
(转自 http://woshao.com/article/f91898b24a1211e097d3000c2959fd2a/)在ObjC中,什么是深浅拷贝?深浅拷贝分别指深拷贝和浅拷贝,即mutableCopy和copy方法。copy复制一个不可变对象,而mutableCopy复制一个mutable可变对象。什么时候用到深浅拷贝?下面举几个例子说明。非容器类对转载 2012-03-31 11:28:49 · 346 阅读 · 0 评论 -
iOS开发:如何使用iOS手势UIGestureRecognizer
UIKit中包含了UIGestureRecognizer类,用于检测发生在设备中的手势。UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有下面一些子类用于处理具体的手势: 1、拍击UITapGestureRecognizer (任意次数的拍击) 2、向里或向外捏UIPinchGestureRecognizer (用于缩放)转载 2012-03-01 11:33:03 · 412 阅读 · 0 评论 -
UITableView
http://blog.csdn.net/wangchenggggdn/article/details/6128470-、建立 UITableView DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)]; [DataTable setDelegate:s转载 2012-02-22 15:13:06 · 613 阅读 · 0 评论 -
UITableView 基本使用方法
转自: http://blog.csdn.net/tangaowen/article/details/6438362 1. 首先,Controller需要实现两个 delegate ,分别是 UITableViewDelegate 和 UITableViewDataSource 2.然后 UITableView对象的 delegate要设置为转载 2012-02-22 15:06:24 · 428 阅读 · 0 评论 -
CAKeyframeAnimation
最近很常用 CAKeyframeAnimation 來製作動畫,但有時想找出 animationWithKeyPath 的值卻很困難,所以在這裡歸納一下:transform.scale = 比例轉換transform.scale.x = 闊的比例轉換transform.scale.y = 高的比例轉換transform.rotation.z = 平面圖的旋轉opacity转载 2012-02-23 13:39:44 · 1971 阅读 · 0 评论 -
IOS开发之手势——UIGestureRecognizer 共存
IOS开发之手势——UIGestureRecognizer 共存 IOS开发之手势——UIGestureRecognizer 共存 原文来自:http://www.cnblogs.com/iphone520/archive/2011/10/27/2226548.html在 iPhone 或 iPad 的开发中,除了用 touchesBegan / t转载 2011-12-28 14:00:57 · 336 阅读 · 0 评论 -
iphone开发一些好的网站推荐
原文:http://blog.csdn.net/linkai5696/article/details/66560311、http://developer.apple.com/iphone/library这个是官方的代码实例 2、www.cocoachina.com这个网站比较适合初期开发者,上面的版主之类的也比较热心,一般的问题都会提供帮助 3、http://w转载 2012-05-31 23:18:53 · 1269 阅读 · 0 评论 -
ios 中 字体和像素的关系
经过验证,这个windows和mac上的字号是统一的。呵呵。英文字体的1磅,相当于1/72 英寸,约等于1/2.8mm。12PT的字打印出来约为4.2mm。网页中12px的字才相当于12像素。虽然 四号=(14/72)*96=18.6px 更接近 19px,但是因为 18px 是点阵,所以系统还是优先显示点阵字号的。换句话说:四号=18px中文字号VS英文字号(磅)VS像素值的转载 2012-06-11 15:43:48 · 1911 阅读 · 0 评论 -
Iphone开发代码片段3
http://www.cnblogs.com/likwo/archive/2011/03/15/1984761.html Iphone代码片段导航 Iphone开发代码片段1Iphone开发代码片段2 Iphone开发代码片段3 1.给UITableViewController添加ToolBar。 self.navigationContr转载 2012-05-24 13:41:18 · 1233 阅读 · 0 评论 -
NSURL
http://blog.csdn.net/ysy441088327/article/details/74167591:NSURL初始化方法:[csharp] view plaincopyNSURL *url=[NSURL URLWithString:@"http://www.baidu.com?id=1"];转载 2013-01-17 09:26:04 · 508 阅读 · 0 评论 -
Objective-C学习笔记之获取私有变量的值
http://my.oschina.net/rareliu/blog/320221、下面是自己定义的一个类,里面有一个私有变量mt_,并且在初始化值为"Ha Ha Ha"。 @interface Mobj : NSObject { @private NSString *mt_; } @end转载 2013-01-16 16:02:59 · 376 阅读 · 0 评论 -
IOS开发基础之──NSLog 输出格式详解
http://blog.csdn.net/pjk1129/article/details/6663413 • %@ 对象 • %d, %i 整数 • %u 无符整形 • %f 浮点/双字 • %x, %X 二进制整数 • %o转载 2013-01-10 14:14:21 · 288 阅读 · 0 评论 -
iOS开发中使用宏定义提高开发效率
Feb022012http://tangchuanyao.com/20120202224/作者:tc_yao 发布:2012-02-02 09:21 分类:iOS高级篇 阅读:658 views 抢沙发 iOS开发中,巧妙的使用宏定义,可以提高开发效率,本篇简单介绍一下宏的定义,设置,应用,并在未来实践中不断追加一些常用的宏定义。调转载 2012-08-23 16:35:58 · 868 阅读 · 0 评论 -
iPhone文件系统NSFileManager讲解
http://chinaxxren.iteye.com/blog/11575931、其中得 app root 可以用 NSHomeDirectory() 访问到;2、Documents 目录就是我们可以用来写入并保存文件得地方,一般可通过: 1. de style="padding-top: 0px; padding-right: 0px; paddin转载 2012-07-23 16:37:48 · 353 阅读 · 0 评论 -
[iPhone开发之控件的使用]UISegmentedControl的各种属性与方法的使用
http://blog.csdn.net/banyingli/article/details/6164761几乎包括了UISegmentedControl的所有属性和方法 [c-sharp] view plaincopy#import "SegmentedControlTestViewController.h" @imp转载 2012-06-27 18:27:51 · 359 阅读 · 0 评论 -
iphone 代码片段2
http://www.cnblogs.com/likwo/archive/2010/09/19/1830788.html Iphone代码片段导航 Iphone开发代码片段1Iphone开发代码片段2 Iphone开发代码片段3 1.如果您想在应用里添加提示功能,比如让 iPhone 机身震动,可以使用下面这行代码:AudioS转载 2012-05-24 13:42:18 · 342 阅读 · 0 评论