1。iOS 谓词过滤 (ios 谓词)
//搜索用谓词过滤数组
NSArray * arrMy=@[@"肖1",@"肖2",@"王五",@"李四",@"肖3",@"王五",@"刘七"];NSString * strg=@"肖";
NSPredicate * fiecate=[NSPredicate predicateWithFormat:@"SELF CONTAINS %@",strg];
NSArray * arr3=[arrMy filteredArrayUsingPredicate:fiecate];
NSLog(@"%@",arr3);
2.如何删掉所有subView
http://stackoverflow.com/questions/2156015/remove-all-subviews
常用方法就是遍历view的subviews,然后一个个移除,这里介绍的[someNSView setSubviews:[NSArray array]] 和 [[someUIView subviews] makeObjectsPerformSelector:@selector(removeFromSuperview)]都能达到同样的目的。
3.iOS 7上给View截图的方法
https://developer.apple.com/library/ios/qa/qa1817/_index.html#//apple_ref/doc/uid/DTS40014134
- (UIImage *)snapshot:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, 0);
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
4.如何判断iOS App是否调用了特定的API
第一种方法判断是否使用了advertisingIdentifier在应用工程目录下查找
find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep advertisingIdentifier
第二种方法判断是否使用了advertisingIdentifier。
在编译好的包目录下输入一下命令
把如下命令中AppName换成你的应用名称,otool -v -s __TEXT __objc_methname AppName | grep advertisingIdentifier
5.Synchronizing Around A Class
在同步的时候一般都是用 @synchronized (self),但是对类方法,特别是在基类中定义的类方法,这样写有问题,应该写成类似@synchronized ([SomeClassName class])这样