;69});70}7172@end 打印结果: 2016-03-15 04:01:53.279 NetWorking[83611:1508240] 成功请求数据1:__NSCFDictionary 2016...-03-15 04:01:53.280 NetWorking[83611:1508240] 成功请求数据2:__NSCFDictionary 2016-03-15 04:01:53.281 NetWorking...2016-03-15 04:05:10.185 NetWorking[83698:1510096] 成功请求数据1:__NSCFDictionary 2016-03-15 04:05:10.186 NetWorking...[83698:1510096] 成功请求数据2:__NSCFDictionary 看到这个打印结果,我们似乎有点看不懂了,难道notify线程组没用了?...84306:1523016] {number = 1, name = main} 2016-03-15 04:30:08.239 NetWorking[84306:1523016] 成功请求数据1:__NSCFDictionary
*icon; //标题 @property (nonatomic, copy) NSString *title; //目标控制器 @property (nonatomic, copy) NSString...- (void)setValue:(id)value forUndefinedKey:(NSString *)key{ } 2....id value = dict[key]; // 获取成员属性类型 NSString *ivarType = [NSString...{ ivarType = @"int"; }else if ([obj isKindOfClass:NSClassFromString(@"__NSCFDictionary...也需要把对应字典转换成模型 // 判断下value,是不是字典 if ([obj isKindOfClass:NSClassFromString(@"__NSCFDictionary
platform=ios"]; NSString * Authorization = [NSString stringWithFormat:@"%@%@",GolbalUserModel.shared.token_type...修改完成之后,运行验证下,然后按照iOS正常步骤打包即可 注 意...android/app/src/main/res/ 注 意
NSString* aa=[stu substringToIndex:3];//截取say NSString* stu1=[aa capitalizedString];//把say首字母变成大写...NSString* stu2=[bb capitalizedString];//把hello首字母变成大写 NSString* dd=[stu substringFromIndex:8];...NSString* stu3=[dd capitalizedString]; //拼接方法(1) NSString* stu4=[NSString stringWithFormat:@"...NSLog(@"截取单词后,每个单词首字母变成大写,然后重新拼接成的新字符串:%@",stu4);//(4)字符串截取、改变、拼接 //拼接方法(2)如: NSString* h=@"2014...字符串(NSString)与数值(int,NSInteger)的基本转换 假设有 NSString *tempA = @"123"; NSString *tempB = @"456"; 1.
U53c2\U6570)"; }; status = ERROR; } 存在着以下几点问题 双引号" "缺失 unicode编码没有显示中文 当有数组情况时候,数组的中括号[ ]--->变成可恶的圆括号了...( ) ---- 解决办法 写一个NSDictionary的Category 分类里重写方法- (NSString *)descriptionWithLocale:(id)locale - (NSString...*)descriptionWithLocale:(id)locale { NSString *string; @try { string...] encoding:NSUTF8StringEncoding]; } @catch (NSException *exception) { NSString...*reason = [NSString stringWithFormat:@"reason:%@",exception.reason]; string = [NSString stringWithFormat
想法很好,只是当时我看不懂我们网络库实现原因不敢乱改代码,怕伤着哪个地方的逻辑,最后代码移着移着,我的.m文件就变成了.mm文件——对,变成Objective-C和C++混编代码了。...最后至于NSString和std::string那区别就没那么简单了。 对于常用的数据类型,就这些了。...但这事还是有教训的,那就是了解一个新东西一定要多了解一些,像我当初就对这个问题不以为意,突然提起来了心就虚了。 另外有一个收获就是多看别人写的博客多关注一些细微的知识点总是能学到新东西的。
///汉字转拼音 -(NSString *)transferChineseToPinYin:(NSString *)string { NSMutableString *mutableString...添加空格 这样的话张Wicky就变成张 Wicky转成拼音就变成zhang wicky。排序完成。 然而我的61位用户就是因为我这一时大意而受到了无限crash的折磨。。。...一定是你不会用),经过上面的添加空格就会变成张 啊(名字中间变成了3个空格)。其实到这里还好,最可气的是-componentsSeparatedByString:这个方法的行为跟老司机想的不一致啊。...,copy) NSString * wordPinyinWithoutTone; @end @implementation NSString (DWStringSortUtils) -(NSComparisonResult...NSComparator comparator = ^(NSString *obj1, NSString *obj2){ NSString *str1 = [obj1 stringByAddingPercentEscapesUsingEncoding
//将date时间戳转变成时间字符串 //@paaram date 用于转换的时间 //@param formatString 时间格式(yyyy-MM-dd HH...:mm:ss) //@return NSString 返回字字符如(2012-8-8 11:11:11) (NSString )getDateStringWithDate:(NSDate...)date DateFormat:(NSString *)formatString { NSDateFormatter dateFormat = [[NSDateFormatter...alloc] init]; [dateFormat setDateFormat:formatString]; NSString dateString = [dateFormat stringFromDate
拷贝的目的 拷贝出一个和原对象的相同的副本,互不影响 举个例子 NSString *a = [NSString stringWithFormat:@"abcabcabc"]; NSString...*b = [a copy]; NSString *c = [a mutableCopy]; NSLog(@"%@,%@,%@",a,b,c); NSLog(@"%p,...因为变成NSMutableString 而且不影响之前的对象,所以要拷贝出一个新的内存空间。...NSString *a = [NSString stringWithFormat:@"abc"]; NSLog(@"a retainCount = %ld",[a retainCount]);...NSString *b = [a copy]; NSLog(@"a retainCount = %ld",[a retainCount]); NSString *c = [a mutableCopy
例如,我写如下的代码段: @property(nonatomic,copy)NSString * str; 将其选中,长按左键,直到鼠标变成箭头模样,然后将其拖入右下方的代码块模板区,会弹出如下设置菜单...completion用来设置快捷键入的快捷键,比如我们设置为pro 如果我们需要将其中的某些参数进行,替换,比如上面的NSString和str,我们想在编码时自定义他们,我们这样写: NSString...#>* 这时,界面就变成了如下这样: ?...我们点击Done后,在代码中输入pro会自动提示出这段代码段,变成方便了许多。 专注技术,热爱生活,交流技术,也做朋友。 ——珲少 QQ群:203317592
object_getClass(self.p1), object_getClass(self.p2)); [bwhtf4bhx2.png] 我们根据结果看到,在添加KVO观察者之后p1的类对象由Person变成了...NSKVONotifying_Person,虽然p1的类对象变成了NSKVONotifying_Person,但是我们在调用的时候感觉我们的p1的类对象还是Person,所以,我们可以猜测KVO会在运行时动态创建一个新类...KVO为了使其更像之前的类,还会将对象的class实例方法重写,使其更像原类 查看P1内部方法是否改变 我们在发现p1的类对象由Person变成了NSKVONotifying_Person,那我们也随便打印一下...Person和NSKVONotifying_Person内部方法都变成了什么 打印一下方法名 - (void)printMethodNamesOfClass:(Class)cls { unsigned..._NSSetLongLongValueAndNotify 在添加KVO监听方法以后setAge方法变成了_NSSetLongLongValueAndNotify,所以我们可以大概猜测动态监听方法主要就是在这里面实现的
就是在setter中,进行了copy操作」,就很容易知道以上报错的原因:属性在赋值时,调用setter,已经将原本mutable的对象,copy成了immutable的对象(NSMutableString变成...NSString,NSMutableArray变成NSArray)。...这时候这些属性就变成野指针,再访问这些属性,程序就会crash。...因此,在ARC下,assign就变成用于修饰基本数据类型(Primitive Type),也就是非对象/非指针数据类型,如:int、BOOL、float等。...ARC下,默认值变成strong了。这个要注意一下,否则会引起困扰。 retain retain是以前非ARC时代的特性,在ARC下并不常用。 它是strong的同义词,两者功能一致。
*)key; //是否包含某缓存,有回调 - (void)containsObjectForKey:(NSString *)key withBlock:(nullable void(^)(NSString...,有回调 - (void)objectForKey:(NSString *)key withBlock:(nullable void(^)(NSString *key, id object...:(NSString *)key withBlock:(nullable void(^)(NSString *key))block; //移除所有缓存,无回调 - (void)removeAllObjects...在YYMemoryCache中,使用了双向链表这个数据结构来保存这些缓存: 当写入一个新的缓存时,要把这个缓存节点放在链表头部,并且并且原链表头部的缓存节点要变成现在链表的第二个缓存节点。...将该节点的头指针指向的节点变成链表的尾节点(将倒数第二个节点变成倒数第一个节点,即尾部节点) _tail = node->_prev; //2.
目前主流的视频网站如优酷网,土豆网,乐视网等网站无一例外地使用了FLV格式。FLV封装格式的文件后缀通常为“.flv”。...三、封装FLV 1、h264文件切割 -(void)splitH264FileFrom:(NSString *)path{ NSData *h264file = [NSData dataWithContentsOfFile...time_h=time_h+40;//对于一个裸h264流,没有时间戳的概念,可以默认以25fps,即40ms一帧数据 }//for 5、保存FLV文件 NSString...NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSString
1.这种错误的原因是插入了不识别的PaymentModel数据类型,NSUserDefaults支持的数据类型有NSString、 NSNumber、NSDate、 NSArray、NSDictionary...将PaymentModel类型变成NSData类型就必须实现归档,在PaymentModel.h文件中遵守NSCoding协议,在PaymentModel.m文件中实现encodeWithCoder和initWithCoder...如下所示: PaymentModel.h @interface PaymentModel : NSObject //标题 @property (nonatomic, copy)NSString...*title; //图片 @property (nonatomic, copy)NSString *picture; @end PaymentModel.m #import "PaymentModel.h
*selectedText = jsPreprocessingResults[@"selection"]; NSString *pageTitle = jsPreprocessingResults... } }); }]; break; } } } 转换url变成根目录下的...icon #pragma mark - Privite Methods - (NSString *)GetImgUrl:(NSString *)url { NSString *temp = nil...; NSInteger s = 0; NSString *strneed = nil; for(int i =0; i < [url length]; i++) { ...stringWithFormat:@"%@/",url]; } strneed = [NSString stringWithFormat:@"%@favicon.ico",strneed
NSSet、NSDictionary 的输出方法,实现在中文(Unicode)字符在控制台的输出 原理 Xcode 控制台中在输出 NSArray、NSSet、NSDictionary 时,其中的中文字符会变成...我们通过分类重写这些类的输出方法即可实现在控制台输出中文: - (NSString *)descriptionWithLocale:(id)locale indent:(NSUInteger)level...for (NSUInteger i = 0; i < level; ++i) { [tabString appendString:@"\t"]; } NSString...[obj isKindOfClass:[NSArray class]] || [obj isKindOfClass:[NSSet class]]) { NSString...*str = [[NSString alloc] initWithData:obj encoding:NSUTF8StringEncoding]; if (str
*orderFilePath)){ __sync_synchronize(); NSString *functionExclude = [NSString stringWithFormat...*> *funcs = [NSMutableArray arrayWithCapacity:symbolNames.count]; NSString *name; while...} //去掉自己 [funcs removeObject:functionExclude]; //将数组变成字符串...*orderFilePath)){ __sync_synchronize(); NSString *functionExclude = [NSString stringWithFormat...} //去掉自己 [funcs removeObject:functionExclude]; //将数组变成字符串
:@"bgColor" options:(NSKeyValueObservingOptionNew) context:nil]; } - (void)observeValueForKeyPath:(NSString...}) 继续点进去, 我们会进入NSObject+RACPropertySubscribing.m文件下的 - (RACSignal *)rac_valuesAndChangesForKeyPath:(NSString...self), keyPath, (unsigned long)options, RACDescription(strongObserver)]; } 我们会发现其中有一个deallocSignal,见名知意,...instancetype)initWithTarget:(__weak NSObject *)target observer:(__weak NSObject *)observer keyPath:(NSString...(__bridge void *)self]; } //2、此处是系统原生的KVO代理实现,并且通过Block把KVO监听到的值传出去- (void)observeValueForKeyPath:(NSString
formatter=[[NSDateFormatter alloc]init]; formatter.dateFormat=@"yy-MM-dd HH:mm:ss"; //经过时间的格式化会变成本地时间...NSString *timeStr=[formatter stringFromDate:date]; NSLog(@"date-----%@",date);...formatter=[[NSDateFormatter alloc]init]; formatter.dateFormat=@"yy-MM-dd HH:mm:ss"; //经过时间的格式化会变成本地时间...NSString *timeStr=[formatter stringFromDate:date]; NSLog(@"date-----%@",date);...timeZone secondsFromGMTForDate:date]; // NSDate *newDate=[date dateByAddingTimeInterval:seconds]; // NSString
领取专属 10元无门槛券
手把手带您无忧上云