深度拷贝和浅拷贝的区别就自己找个地方看下。。。。。。。最下面贴上了NSArray和NSDictionary的深度拷贝分类方法
代码中常用的调试需要用的代码:这样日志只会在调试时候打印,发布的时候并不会出现
#ifdef DEBUG
#ifndef DLog
# define DLog(fmt, ...) {NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);}
#endif
#ifndef ELog
# define ELog(err) {if(err) DLog(@"%@", err)}
#endif
#else
#ifndef DLog
# define DLog(...)
#endif
#ifndef ELog
# define ELog(err)
#endif
#endif
下面这两段代码都是项目中拷贝出来的,所以特意备注一下。
SJDeepCopy.h文件
#import <Foundation/Foundation.h>
@interface NSArray (SJDeepCopy)
- (NSArray*)deepCopy;
- (NSMutableArray*) mutableDeepCopy;
@end
@interface NSDictionary (SJDeepCopy)
- (NSDictionary*)deepCopy;
- (NSMutableDictionary*)mutableDeepCopy;
@end
S