![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OC
FreeTourW
这个作者很懒,什么都没留下…
展开
-
Objective-C中的属性特性
assign:用于基本数据类型,直接赋值。也可以用于对象,只不过当setter方法赋值时,只是简单存储地址,不会造成引用计数的改变,可以解决循环引用问题。retain:用于对象类型,当赋值时,先将旧值释放,对新值retain引用计数加1copy:用于对象类型,根据实现的NSCopying协议的copyWithZone:方法的不同,可以实现伪拷贝,浅拷贝,深拷贝。readwrite: 可读可写特性。原创 2016-09-17 22:43:18 · 565 阅读 · 0 评论 -
iOS中取数组的最大值、最小值,下标,总和,平均值
iOS中取数组内最大值最小值,下标,总和,平均值标签: ios数组nsarrayindex2016-08-05 11:08 1401人阅读 评论(0)收藏举报本文章已收录于:分类: iOS基础(29) 作者同类文章X版权声明:本文为博主原创文章,转载时请标明出处代码不转载 2017-05-09 16:53:35 · 6009 阅读 · 0 评论 -
iOS内存管理--深、浅拷贝与copy、strong
深.浅拷贝copy/mutableCopy NSStringNSString *string = @"汉斯哈哈哈";// 没有产生新对象NSString *copyString = [string copy];// 产生新对象NSMutableString *mutableCopyString = [string mutableCopy];NSLog(@"string =转载 2016-12-27 21:23:22 · 652 阅读 · 0 评论 -
ios内存管理原则
1. 内总管理原则(引用计数) IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到: window下的COM组件,多线程的信号量,读写锁,思想都一样。 (一般情况下: 后面会讨论例外情况) alloc 对象分配后引用计数为1 retain 对象的引用计数转载 2016-09-27 09:49:31 · 562 阅读 · 0 评论 -
NSString属性声明中的copy和retain区别
前几天去面试,被问到了NSString属性声明中的copy和retain具体区别,对内存计数的影响,汗,当时没整明白,也没答出来,只知道NSString一般用copy.首先做以下几个变量声明:@property (retain, nonatomic) NSString *retainStr;@property (copy, nonatomic) NSString *copyStr;@proper转载 2016-09-26 21:08:19 · 869 阅读 · 0 评论 -
MRC环境下语义特性为assign retain copy时,setter和getter方法
1,当把语义特性声明为assign时,setter和getter时方法内部实现- (void)setName:(NSString *)name{ _name = name;}- (NSString *)name{ return _name;}2,当把语义特性声明为retain时,setter和getter方法内部实现- (void)setName:(NSString *)name{原创 2016-09-26 20:13:15 · 1426 阅读 · 0 评论 -
ARC指南1 - strong和weak指针
参考文献: iOS ARC 完全指南提示:本文中所说的"实例变量"即是"成员变量","局部变量"即是"本地变量"一、简介ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain、release、autorelease语句。你不再需要担心内存管理,因为编译器为你处理了一切注意:ARC 是编译器特性,而不是 i转载 2016-09-25 17:36:36 · 255 阅读 · 0 评论 -
iOS完整学习路线图
今晚特地花时间整理出了iOS的完整学习路线图,希望对大家有帮助转载 2016-09-25 17:28:48 · 351 阅读 · 0 评论 -
iOS类别和扩展(Category和Extension)
分类(Category) 分类能够做到的事情主要是:即使在你不知道一个类的源码情况下,向这个类添加扩展的方法。 此外,分类能够保证你的实现类和其他的文件区分开。 1 #import “UIViewController.h”2 @interface UIViewController(CustomView)3 -(void)extMethod;4 @end转载 2016-09-24 23:20:05 · 440 阅读 · 0 评论 -
weak和assign的区别
weak比assign多了一个功能就是当属性所指向的对象消失的时候(也就是内存引用计数为0)会自动赋值为nil,这样再向weak修饰的属性发送消息就不会导致野指针操作crash#import "ViewController.h"@interface ViewController ()@property (nonatomic,weak) id weakPoint;@property (non原创 2016-09-17 22:46:57 · 706 阅读 · 0 评论 -
深入理解RunLoop
RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。IndexRunLoop 的概念RunLoop 与线程的关系RunLoop ...转载 2018-05-23 16:41:35 · 226 阅读 · 0 评论