AFNetworking 2.0 当Deployment Target 低于6.0时,AFURLConnectionOperation.h,AFURLSessionManager.h @property (nonatomic, strong) dispatch_queue_t completionQueue; 因为sdk低于6.0时,dispatch_queue_t  ARC没有托管,出现提示错误 Property with 'retain (or strong)' attribute must…
iOS编程过程中,经常看到一些属性前面有些修饰符,比如copy,retain等. 这些关键字,是Object-C语言中,对于Property的setter. Mac官网: The Objective-C Programming Language – Declared Properties – Setter Semantics 中的解释是: Setter Semantics These attributes specify the semantics of a set accessor. They…
时不时会有点迷惑属性修饰符retain.strong.copy三者之间的区别,还是把测试过程记录下来好一点! 1.属性修饰符结论 2.给retain.strong.copy修饰的字符串属性赋值指针变化测试例子 3.字符串调用copy.mutableCopy方法给字符串赋值指针变化例子 一.属性修饰符retain.strong.copy修饰字符串测试 先看代码,创建一个Person类,定义属性 #import <Foundation/Foundation.h> @interface Person…
strong weak strong与weak是由ARC新引入的对象变量属性 ARC引入了新的对象的新生命周期限定,即零弱引用.如果零弱引用指向的对象被deallocated的话,零弱引用的对象会被自动设置为nil. @property(strong) MyClass *myObject; 相当于@property(retain) MyClass *myObject; @property(weak) MyOtherClass *delegate; 相当于@property(assign) MyO…
iOS retain.strong.weak.assign strong与weak是由ARC新引入的对象变量属性xcode 4.2(ios sdk4.3和以下版本)和之前的版本使用的是retain和assign,是不支持ARC的.xcode 4.3(ios5和以上版本)之后就有了ARC,并且开始使用 strong与weak assign: 用于非指针变量.用于 基础数据类型 (例如NSInteger)和C数据类型(int, float, double, char, 等),另外还有id 如: @p…
copy retain assign的差别在于对象属性的set方法 NSString 与 NSMutableString NSString是不可变字符串对象,这句话的意思,结合代码: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSString *str = @"Shaw"; NSString *str1 = @"Roo…
一..h和.m文件的变化说明 1.对于.h头文件,主要是将属性定义由retain变为strong @property (retain, nonatomic) 变为 @property (strong, nonatomic) 2.在ARC之前,我们经常在.m中使用分类拓展来增加私有的property @interface MJViewController () @property (nonatomic, retain) NSArray *data; @end 这 样做主要是简化实例对象的手动内存管…
转自:http://yuanshoupeng2005.blog.163.com/blog/static/68235027201235113952886/ http://baike.baidu.com/view/5028218.htm retain和copy的区别 原来简单解释过属性定义(Property) ,并且提起了简单的retain,copy,assign的区别.那究竟是有什么区别呢? assign就不用说了,因为基本上是为简单数据类型准备的,而不是NS对象们. Retain vs. Cop…
How do I add new attribute (element) to JSON object using JavaScript? JSON stands for JavaScript Object Notation. A JSON object is really a string that has yet to be turned into the object it represents. To add a property to an existing object in JS…
转载地址: http://www.lvtao.net/ios/504.html @property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法.在Xcode4.5以及以后的版本,@synthesize可以省略. 1.atomic与nonatomicatomic:默认是有该属性的,这个属性是为了保证程序在多线程情况,编译器会自动生成一些互斥加锁代码,避免该变量的读写不同步问题.nonatomic:如果该对象无需考虑多线程的情况,请加入这个属性,这样会让编译器少生成一些…
举个例子: NSString *houseOfMM = [[NSString alloc] initWithString:'装梵几的三室两厅']; 上面一段代码会执行以下两个动作:  1 在堆上分配一段内存用来存储@' 装梵几的三室两厅 ' ,比如:内存地址为 0X1111  内容为 ' 装梵几的三室两厅' ,  2 在栈上分配一段内存用来存储 houseForWife ,比如:地址为 0XAAAA  内容自然为 0X1111 下面分别看下(assign,retain,copy):  1.ass…
声明属性时用strong或者retain效果是一样的(貌似更多开发者更倾向于用strong).不过在声明Block时,使用strong和retain会有截然不同的效果.strong会等于copy,而retain竟然等于assign! 当然定义Block还是应该用copy(还有其他需要注意的地方,可以参考这篇文章:iOS: ARC和非ARC下使用Block属性的问题),因为非ARC下不copy的Block会在栈中,ARC中的Block都会在堆上的. 可以这样复现问题.在非ARC环境下,定义一个简单…
@property与@synthesize是成对出现的,可以自动生成某个类成员变量的存取方法.在Xcode4.5以及以后的版本,@synthesize可以省略. 1.atomic与nonatomicatomic:默认是有该属性的,这个属性是为了保证程序在多线程情况,编译器会自动生成一些互斥加锁代码,避免该变量的读写不同步问题.nonatomic:如果该对象无需考虑多线程的情况,请加入这个属性,这样会让编译器少生成一些互斥加锁代码,可以提高效率. 2.readwrite与readonlyreadw…
@property(copy,nonatomic)NSMutableString*copyStr; @property(strong,nonatomic)NSMutableString*strongStr; @property(weak,nonatomic)NSMutableString*weakStr; @property(assign,nonatomic)NSMutableString*assignStr; NSMutableString* originStr = [[NSMutableSt…
在IOS开发中,经常会使用   @property(nonatomic,copy)NSString * name;   语句来快速设置set get 方法,在此依次说明atomic .nonatomic.copy .retain的作用         atomic 和 nonatomic 用来决定编译器生成的 getter和  setter  是原子操作还是非原子操作.         atomic 设置成员变量的@property属性时,默认为atomic,即原子操作,对同一对象的set和ge…
atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作 1)atomic 设置成员变量的@property属性时,atomic是默认值,提供多线程安全 在多线程环境下,原子操作是必要的,否则有可能引起错误的结果.加了atomic后setter函数会变成下面这样: {lock} if (property != newValue) { [property release]; property = [newValue retain]; } {unlock} 2)n…
依旧本着尊重原创和劳动者的原则,将地址先贴在前面: http://www.cnblogs.com/nonato/archive/2013/11/28/3447162.html,作者Nonato 以下内容为转载: IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数. 引用计数在很多技术都用到: window下的COM组件,多线程的信号量,读写锁,思想都一样. (一般情况下: 后面会讨论例外情况)alloc 对象分配后引用计数为1retain 对象的引用…
引用地址:http://www.aichengxu.com/view/32930 一.assign,copy,retain 1.copy是内容复制,新建一个相同内容的不同指针,retain为指针复制,相同内容的相同指针,引用计数都加1.assign只是复制,没有引用计数. 2.retain:释放旧的对象(release),将旧对象的值赋给新对象,再令新对象引用计数为1.我理解为指针的拷贝,拷贝一份原来的指针,释放原来指针指向的对象的内容,再令指针指向新的对象内容.copy:与retain处理流程…
1. 假设你用malloc分配了一块内存,并且把它的地址赋值给了指针a,后来你希望指针b也共享这块内存,于是你又把a赋值给(assign)了b.此时a 和b指向同一块内存,请问当a不再需要这块内存,能否直接释放它?答案是否定的,因为a并不知道b是否还在使用这块内存,如果a释放了,那么b在使用这块内存的时候会引起程序crash掉.   2. 了解到1中assign的问题,那么如何解决?最简单的一个方法就是使用引用计数(reference counting),还是上面的那个例子,我们给那块内存设一个…
 readwrite 是可读可写特性;需要生成getter方法和setter方法时  readonly 是只读特性 只会生成getter方法 不会生成setter方法 ;不希望属性在类外改变  assign 是赋值特性,setter方法将传入参数赋值给实例变量;仅设置变量时;  retain 表示持有特性,setter方法将传入参数先保留,再赋值,传入参数的retaincount会+1;  copy 表示赋值特性,setter方法将传入对象复制一份;需要完全一份新的变量时.  nonatomic…
error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'.,appcompatv7 error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light'. 这个错误表明缺少Theme.…
引入cocoaPods后.第一次编译,或者运行update后 可能报这个错误: Pods was rejected as an implicit dependency for 'libPods.a' because its architectures 'x86_64' didn't contain all required architectures 'i386' 查了些资料,在网上有一种解决方法是去设置podproject的  valid Architectures 与你的项目project的…
在Mac和XAMPP环境,假设终端打字mysql,现这样的问题: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 这样的问题是因为没有在bash_profile中配置xampp的path 解决方式: 首先,在终端输入 cd ~/ 而.bash_profile为该文件夹下的一个隐藏文件 可使用文字编辑器vi 直接新增 在终端上输入  sudo vim ~/.ba…
运行alter操作, alter table xx_shop_info add index FK9050F5D83304CDDC (shop_area), add constraint FK9050F5D83304CDDC foreign key (shop_area) references xx_shop_area (id) 出现下面的错误 Error : Can't create table 'moshop_1.#sql-534_185' (errno: 150) 找了好多原因,总结能够列举…
解决方法: 选择project->Build Settings -> Code Signing -> Code Signing Identity -> Debug -> Any ios SDK 将选项改为:iOS Developer…
1 运行恢复命令  [xxx@xxx-c001db1 tmp]$ time /usr/bin/innobackupex --rsync --user="user" --password="#xxx$" /mysqldata/shared/backup [--rsync ] 能够记录master点,以便进行复制设置. InnoDB Backup Utility v1.5.1-xtrabackup; Copyright 2003, 2009 Innobase Oy an…
bundle install 出现  'gem install mysql2 -v '0.3.15' succeeds before bunding ' 解决:sudo apt-get install libmysql-ruby '如果你找不到包尝试以下的包 參考:http://packages.ubuntu.com/search?keywords=mysql-ruby ruby-dataobjects-mysql libmysqldb-ruby ruby-dbd-mysql sudo apt-…
请看  https://www.cnblogs.com/liubeimeng/p/4244686.html…
怎么发现RAC环境中的'library cache pin'等待事件的堵塞者(Blocker) 參考自 How to Find the Blocker of the 'library cache pin' in a RAC environment? (文档 ID 780514.1) 本文不做翻译.全文转载: Applies to: Oracle Database - Enterprise Edition - Version 9.2.0.1 to 11.1.0.7 [Release 9.2 to…
今天在进行QT Widget的UI设计时,改了下Widget的对象名,然后在多次成功编译执行后,执行清理,又一次构建,就出现了好多莫名奇异的错误: widget.h:12: 错误:forward declaration of 'struct Ui::Widget' widget.cpp:8: 错误:invalid use of incomplete type 'struct Ui::Widget' 网上搜索发现是每当你新键一个 QT设计界面, QT会自己主动生成yyy.ui文件,如Widget.…