@property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法。在Xcode4.5以及以后的版本,@synthesize可以省略。1.atomic与nonatomicatomic:默认是有该属性的,这个属性是为了保证程序在多线程情况,编译器会自动生成一些互斥加锁代码,避...
分类:
移动开发 时间:
2015-09-11 22:11:17
阅读次数:
353
1. "智能指针"是行为像指针的对象,但它们能提供指针没有的功能:shared_ptr,weak_ptr,auto_ptr(见条款13)实现对堆内存的自动管理,STL的迭代器实现对整个容器的遍历等. 真正的指针的优势在于支持继承层次中派生类指针向基类指针的转换(当然标准库shared_ptr,we....
分类:
编程语言 时间:
2015-09-11 20:54:12
阅读次数:
206
只考虑ARC环境:自己写的delegate,使用weak,不用assign。weak和assign的区别,当指向的对象被释放掉之后,weak指针会自动置为nil。而assign指针会指向一个无效的地址。在异步环境下,经常会遇到异步回调的时候调用delegate的回调方法,[self.delegate...
分类:
数据库 时间:
2015-09-11 19:02:22
阅读次数:
220
block访问的外部变量都会被COPY一份到block自己在heap中分配的数据结构中。所以访问scalar变量没问题,简单的值COPY,但是尽量不要访问大的struct或者由外部语境创建和销毁的对象,因为在block执行的时候,对象可能已经不见了。(weak reference可以避免这个问题)。...
分类:
其他好文 时间:
2015-09-11 18:57:42
阅读次数:
197
通过代理传数据方法1、委托者所做的工作 1)委托者发起委托,设置被委托者须遵从的协议,定义代理对象 @protocol secondViewControllerDelegate @protocol(weak,notomatic)iddelegate; 2)由委托者定义代理方法 -(void...
分类:
其他好文 时间:
2015-09-10 20:52:45
阅读次数:
109
iOS消除对应的警告!在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak、循环引用、不能执行之类的警告。 有代码洁癖的孩子们很想消除他们, 今天就让我们来一次Fuck 警告!!首先学会基本的语句#pragma clang diagnostic push#pragma clang dia...
分类:
移动开发 时间:
2015-09-10 11:08:48
阅读次数:
298
智能指针在C++11的标准中已经存在了,分别是unique_ptr,shared_ptr,weak_ptr,其中最常用的应该是share_ptr,它采用引用计数的方式管理内存,当引用计数为0的时候,自动释放内存,但是由于shared_ptr考虑到了线程安全,所以会存在有较大的性能损失。所以在实时游戏...
分类:
Web程序 时间:
2015-09-09 21:21:26
阅读次数:
161
代码: #include <memory> #include <iostream> int main(int argc, char*argv[]){ ? ? std::shared_ptr<int> a(new int(1)); ? ? std::weak_ptr<int>d(a); ? ? std::cout<<"d.use_count() = "<<d.use_cou...
分类:
其他好文 时间:
2015-09-09 19:53:59
阅读次数:
211
***********#import "HMViewController.h"@interface HMViewController () @property (weak, nonatomic) IBOutlet UIImageView *imageView;@end@implementation ...
分类:
移动开发 时间:
2015-09-09 17:35:25
阅读次数:
156
一.委托代理传值1.步骤1.1 设置协议及方法(B界面实现)1 @protocol secondViewDelegate2 -(void)showName:(NSString *)nameString;1.2设置代理(B界面实现)1 @property (nonatomic, weak)id del...
分类:
移动开发 时间:
2015-09-09 16:37:03
阅读次数:
282