当数组为空时遍历数组容易出这样的问题, -[NSNull countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x3e4e85e0  解决办法就是在遍历数组之前先要判断 if (![array isKindOfClass:[NSNull class]]) { for循环 }…
还真是一波未平一波又起,又出现了这个问题,详情如下: -[__NSCFString countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance 0x17deba00 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFString countByEnumer…
Adopted Protocols NSCoding encodeWithCoder: initWithCoder: NSCopying copyWithZone: NSMutableCopying mutableCopyWithZone: NSFastEnumeration countByEnumeratingWithState:objects:count: Tasks Creating an Array + array + arrayWithArray:   -- + arrayWithCo…
source link: 1.http://blog.bignerdranch.com/1907-hooked-on-dtrace-part-1/ 2.http://blog.bignerdranch.com/1968-hooked-on-dtrace-part-2/ 3.http://blog.bignerdranch.com/2031-hooked-on-dtrace-part-3/ 4.http://blog.bignerdranch.com/2150-hooked-on-dtrace-p…
Wednesday, January 20, 2010 Understanding the Objective-C Runtime The Objective-C Runtime is one of the overlooked features of Objective-C initially when people are generally introduced to Cocoa/Objective-C. The reason for this is that while Objectiv…
由于时间和水平有限,本文会存在诸多不足,希望得到您的及时反馈与指正,多谢! 工具环境: iPhone 6.系统版本 10.1.1IDA Pro 7.0 0x00:防作弊产品介绍 1.由于IOS系统的不开放性,能获取的信息太少,所在IOS上的防作弊产品可做的功能就相比较于安卓要少很多了.硬件方面主要获取IDFA.IDFV这两个值,软件方面主要获取一些风险APP的名称. 0x01:SDK整体框架 1.该防作弊产品提供SDK形式给开发者调用,当开发者成功集成到APP后,APP启动时就会生成一个唯一的I…
在 Objective-C 2.0 中提供了快速枚举的语法,它是我们遍历集合元素的首选方法.它具有以下优点: 比直接使用 NSEnumerator 更高效: 语法非常简洁: 如果集合在遍历的过程中被修改,它会抛出异常: 可以同时执行多个枚举. 一.解析 NSFastEnumeration 协议 在 Objective-C 中,我们要想实现快速枚举就必须要实现 NSFastEnumeration 协议,在这个协议中,只声明了一个必须实现的方法: /** Returns by reference a…
1. queryset是查询集,就是传到服务器上的url里面的内容.Django会对查询返回的结果集QerySet进行缓存,这里是为了提高查询效率. 也就是说,在你创建一个QuerySet对象的时候,Django并不会立即向数据库发出查询命令,只有在你需要用到这个QuerySet的时候才回去数据库查询. 2. Objects是django实现的mvc框架中的数据层(model)m,django中的模型类都有一个objects对象,它是一个django中定义的QuerySet类型的对象, 它包含了…
条件选取QuerySet的时候,filter表示=参数可以写查询条件,exclude表示!=,querySet.distinct() 去重复(除了get返回值都是QuerySet,可以继续调用所有函数) objects.filter() __exact 精确等于 like ‘aaa’ __iexact 精确等于 忽略大小写 ilike ‘aaa’ __contains 包含 like ‘%aaa%’ __icontains 包含 忽略大小写 ilike ‘%aaa%’,但是对于sqlite来说,…
1.count():计算数据的个数. 计算数据的个数可以使用count,在python中使用len()也可以计算数据的个数,但是相对来说效率没有使用count()效率高,因为在底层是使用select count(*) 直接在sql层面就计算了数据的个数,而len()是将数据提取到内存中计算数据的个数.因此比使用len函数更高效. 示例代码如下: from django.http import HttpResponse from .models import Book from django.db…
OC中调用方法某个对象的消息呦两种方式: #1. performanceSelector: withObject: #2. NSInvocation. 第一个PerformaceSelector比较常用, 也比较简单. 但是这个方式最多只能传递2个参数 当需要2个以上参数时就只能用NSInvocation了 直接上代码吧, 会注释清楚 - (void)viewDidLoad { [super viewDidLoad]; //用performanceSelector调用三个参数的方法, 但只传递2…
////  RootViewController.h//  DSCategories////  Created by dasheng on 15/12/17.//  Copyright © 2015年 dasheng. All rights reserved.//#import <UIKit/UIKit.h>@interface RootViewController : UITableViewController@end ////  RootViewController.m//  DSCate…
现在H5混合原生开发的方式越来越流行,也就要用到UIWebView控件.在开发过程中,我们可能会遇到一个需求,要求我们保存网页上的图片,当用户点击图片的时候,就可以让用户选择是否下载图片. 在系统自带的Safari浏览器已经实现了该功能,但是iOS开发中我们如果调用UIWebView加载图片,会发现无法使用Safari保存图片的功能的.这就需要我们自己去实现. 要保存网页中的图片,关键是要获取手指点击位置的图片的url地址,这就需要从js调用oc的方法.下面介绍两种方法来实现图片保存功能,但是这…
一.UIWebView简介 1.UIWebView什么是UIWebViewUIWebView是iOS内置的浏览器控件系统自带的Safari浏览器就是通过UIWebView实现的 UIWebView不但能加载远程的网页资源,还能加载绝大部分的常见文件html\htmpdf.doc.ppt.txtmp4… … UIWebView常用的加载资源的方法- (void)loadRequest:(NSURLRequest *)request; 2.键盘工具条显示中文 二.常用属性和方法 重新加载(刷新)-…
前言 iOS 实现主题切换,相信在未来的app里也是会频繁出现的,尽管现在只是出现在主流的APP,如(QQ.新浪微博.酷狗音乐.网易云音乐等),但是现在是看颜值.追求个性的年代,所以根据用户喜好自定义/切换主题也是未来app的必备功能了. 实现思路 为了降低耦合度,决定采用的方案是使用NSObject的分类来实现主题设置,有些读者可能会想为何不使用UIView的分类而是使用NSObject的分类?建议这部分读者看一下UIBarItem父类,然后仔细思考一下,就会理解了. 设置主题色 PYThem…
performSelector和直接调用方法的区别 performSelector: withObject:是在iOS中的一种方法调用方式.他可以向一个对象传递任何消息,而不需要在编译的时候声明这些方法.所以这也是runtime的一种应用方式.所以performSelector和直接调用方法的区别就在与runtime.直接调用编译是会自动校验.如果方法不存在,那么直接调用 在编译时候就能够发现,编译器会直接报错. 但是使用performSelector的话一定是在运行时候才能发现,如果此方法不存…
使用FastCoder写缓存单例 FastCoder可以存储字典,数组,鄙人将FastCoder封装,CoreData可以缓存的东西,用这个都可以缓存,但是只适合缓存少量的数据(不适合存储几万条数据). 基于文件的类请参考上一章节内容 使用详情: 源码: 使用的缓存文件 SharedFile.h 与 SharedFile.m // // SharedFile.h // Array // // Created by YouXianMing on 14/12/1. // Copyright (c)…
当我们有方法名和参数列表,想要动态地给对象发送消息,可用通过反射函数机制来实现,有两种常用的做法: 一.performSelector - (id)performSelector:(SEL)aSelector; - (id)performSelector:(SEL)aSelector withObject:(id)object; - (id)performSelector:(SEL)aSelector withObject:(id)object1 withObject:(id)object2;…
前言: 在项目中经常会遇到需要获取系统的信息来处理一些特殊的需求和服务端返回为空的处理,写在这里只是笔记一下. 获取设备的信息 NSLog(@"globallyUniqueString=%@",[[NSProcessInfo processInfo] globallyUniqueString]);//全球唯一标识 NSLog(@"uniqueIdentifie=%@",[UIDevice currentDevice].uniqueIdentifier);//唯一的标…
上篇(http://www.hightopo.com/blog/194.html)我们通过定制了CPU和内存展示界面,体验了HT for Web通过定义矢量实现图形绘制与业务数据的代码解耦及绑定联动,这类案例后续文章还会继续以便大家掌握更多的矢量应用场景,本篇我们先切换个话题,谈谈模型-视图-事件之间的关系. http://www.hightopo.com/guide/guide/core/beginners/examples/example_overview.html 图形组件设计架构上主要就…
-  (BOOL) isBlankString:(NSString *)string { if (string == nil || string == NULL) { return YES; } if ([string isKindOfClass:[NSNull class]]) { return YES; } if ([[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length]…
转自http://www.jianshu.com/p/be00c3f3cafd //字符串是否为空 #define kStringIsEmpty(str) ([str isKindOfClass:[NSNull class]] || str == nil || [str length] < 1 ? YES : NO ) //数组是否为空 #define kArrayIsEmpty(array) (array == nil || [array isKindOfClass:[NSNull class…
避免写后台代码,但保证app能够有后台,使用了AVOS这个产品来帮助自己的app联网,AVOS是很强大的云服务,基本原理和Parse差不多,只是parse在国外可能对国内用户联网速度上有点限制. 下面直接上代码,是一个测试的用途,来检测api和联网速度等. 只要还是数据的存储和读取. 相当于感觉在操作一个本地数据库,很方便,能快速的开发app. //avosTEST var avobjetcTest:AVObject = AVObject(className: "TestObject"…
前言 Profiles面板功能的作用主要是监控网页中各种方法执行时间和内存的变化,简单来说它就是Timeline的数字化版本.它的功能选项卡不是很多(只有三个),操作起来比较前面的几块功能版本来说简单,但是里面的数据确很多,很杂,要弄懂它们需要花费一些时间.尤其是在内存快照中的各种庞杂的数据.在这篇博客中卤煮将继续给大家分享Chrome开发者工具的使用经验.如果你遇到不懂的地方或者有不对的地方,可以在评论中回复卤煮,文章最后卤煮会最后把秘籍交出来.下面要介绍的是Profiles.首先打开Prof…
pheongap项目:http://www.nduoa.com/apk/detail/646816 主要的问题: heap过大,内存低性能差的机子上引起奔溃,直接退出 关于web app的优化,不仅仅只是js方面,包括HTML布局嵌套,CSS的属性使用,数据的读取,还有浏览器的重排与回流之类的这里就不讨论了, 本章涉及的是脚本代码引发的性能问题,更进一步说就是闭包带来的内存泄露 关于性能: 首先我不得不承认一个事实,移动端的性能跟PC端,那完全不是一回事 比如用innerHTML绘制大段的HTM…
The Repository Pattern with EF Code First & Dependency Injection in ASP.NET MVC3 Ray_Liang, 5 Jul 2011 GPL3 156.8K 8.1K 156    4.65 (58 votes)   4.65/5 - 58 votes 3 removed μ 4.53, σa 1.20 [?] Rate: vote 1vote 2vote 3vote 4vote 5 Add a reason or comm…
The Repository Pattern with EF Code First & Dependency Injection in ASP.NET MVC3 Ray_Liang, 5 Jul 2011 GPL3 156.8K 8.1K 156    4.65 (58 votes)   1 2 3 4 5 4.65/5 - 58 votes 3 removed μ 4.53, σa 1.20 [?] Rate: vote 1vote 2vote 3vote 4vote 5 Add a reas…
需求很简单,是从一段文本中匹配出其中的超链接.基本的做法就是用正则表达式去匹配.但是有这样一个问题. 网上大部分的识别URL的正则表达式url末尾有空格的情况下可以正确识别.比如这样的情况: "我是一段中文https://github.com/TinyQ 我还是一段中文" 但是如果去掉TinyQ 后面的空格.匹配到的将是 “https://github.com/TinyQ我还是一段中文” 是连上的. 最后替换过好多正则才得以解决.这里贴上代码: NSString *regulaStr…
Unity3D 里有两种动态加载机制:一个是Resources.Load,另外一个通过AssetBundle,其实两者区别不大. Resources.Load就是从一个缺省打进程序包里的AssetBundle里加载资源,而一般AssetBundle文件需要你自己创建,运行时 动态加载,可以指定路径和来源的. 其实场景里所有静态的对象也有这么一个加载过程,只是Unity3D后台替你自动完成了. 详细说一下细节概念:AssetBundle运行时加载:来自文件就用CreateFromFile(注意这种…
特别是在建表建存储过程的时候进场会写到: IF OBJECT_ID('Table_Test','U') IS NOT NULL DROP TABLE Table_Test 这种方式代替了以往所使用的 IF EXISTS (SELECT * FROM SYSOBJECTS WHERE NAME = 'Table_Test') DROP TABLE Table_Test 第一段代码中的 U 可以省略不写, 这样系统就会检索所有的对象名称以找到对应的ID, 但是写出来就可以更加明确是哪一种类型,筛选的…