数组排序
NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"0",@"8",@"6",@"1",nil];
NSArray *sortedArray = [arr sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2){
if ([obj1 intValue] > [obj2 intValue]){
return NSOrderedDescending;
}
if ([obj1 intValue] < [obj2 intValue]){
return NSOrderedAscending;
}
return NSOrderedSame;
}];
NSLog(@"排序后的数组:%@",sortedArray);
屏幕快照
UIImageView* imgView;
/*
UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale)
size : 截取的范围大小
opaque : 是否透明
scale : 缩放
*/
UIGraphicsBeginImageContextWithOptions(CGSizeMake(640, 640), FALSE, 0);
imgView= [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 640, 640)];
if (str) {
UILabel *view = [[UILabel alloc]initWithFrame:CGRectMake(120, 500, 400, 150)];
view.backgroundColor = [UIColor clearColor];
view.text = str;
view.shadowColor = [UIColor blackColor];
view.shadowOffset = CGSizeMake(1, 1);
view.textColor = [UIColor whiteColor];
view.font = [UIFont systemFontOfSize:50];
view.textAlignment = NSTextAlignmentCenter;
[imgView addSubview:view];
}
[imgView setBackgroundColor:[UIColor yellowColor]];
[imgView setContentMode:UIViewContentModeScaleAspectFit];
[imgView setImage:img];
//渲染图形
[[imgView layer] renderInContext:UIGraphicsGetCurrentContext()];
//得到新的image
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
//关闭context
UIGraphicsEndImageContext();
return image;
UIGraphicsBeginImageContext和UIGraphicsBeginImageContextWithOptions
前者是判断是否有宏定义,后者是判断值是否大于0或者表达式是否成立 #if xx //判断是否宏定义了(标号,变量,表达式), //如果有宏定义 #define xx 则从下一行开始执行不执行#else, //否则直接跳往#else执行 #else //如果没宏定义 #define xx 就执行#else #endif //#if结束 if (xx) //判断(表达式,变量)的值是否大于0, //大于0就执行下一行,不执行else else //小于0就直接执行else,而不执行if下的语句
NSData NSArray 转换
NSArray *arr1 = [[NSArray alloc]initWithObjects:@"0",@"5",nil];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arr1];
NSArray *arr2 = [NSKeyedUnarchiver unarchiveObjectWithData:data];
NSLog(@"->%@",[arr1 objectAtIndex:1]);
NSLog(@"->%@",[arr2 objectAtIndex:1]);
检查是否包含字符串
//检查是否包含字符串
- (BOOL)checkPackageNameFirstStr:(NSString *)firstStr secondStr:(NSString *)secondStr{
NSRange range=[firstStr rangeOfString:secondStr];
if(range.location!=NSNotFound){
return true;
}else{
return false;
}
}
int totalNumber = 30; //总共要创建的个数
int buttonWidth = 30; //按钮宽
int buttonHeight = 30; //按钮高
int buttonRowPadding = 5; //横向按钮间隔
int buttonColumnPadding = 5; //纵向按钮间隔
int buttonStartX = 0; //按钮组起始坐标x
int buttonStartY = 0; //按钮组起始坐标Y
for (int i = 0; i < totalNumber; i ++)
{
CGRect buttonFrame = CGRectMake(buttonStartX + (buttonWidth + buttonRowPadding) * (i % 3), buttonStartY + (buttonHeight + buttonColumnPadding) * (i /3), buttonWidth, buttonHeight); //button frame
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = buttonFrame;
[self.view addSubview:btn];
}
动画闪屏效果
UIImageView *splashScreen = [[UIImageView alloc] initWithFrame:self.window.bounds];
splashScreen.image = [UIImage imageNamed:@"Default"];
[self.window addSubview:splashScreen];
[UIView animateWithDuration:1.0 animations:^{
CATransform3D transform = CATransform3DMakeScale(1.5, 1.5, 1.0);
splashScreen.layer.transform = transform;
splashScreen.alpha = 0.0;
} completion:^(BOOL finished) {
[splashScreen removeFromSuperview];
}];
字符串比较
NSArray *stringsArray = [NSArray arrayWithObjects:@"string 1",@"String 21",@"string 12",@"String 11",@"String 02", nil];
/*
NSCaseInsensitiveSearch 不区分大小写比较
NSNumericSearch Name2.txt < Name7.txt < Name25.txt.
NSWidthInsensitiveSearch = 256,//忽略字符串的长度,比较出结果
NSForcedOrderingSearch = 512//忽略不区分大小写比较的选项,并强制返回 NSOrderedAscending 或者 NSOrderedDescending
*/
static NSStringCompareOptions comparisonOptions = NSCaseInsensitiveSearch | NSNumericSearch |NSWidthInsensitiveSearch | NSForcedOrderingSearch;
NSLocale *currentLocale = [NSLocale currentLocale];
NSComparator finderSortBlock = ^(id string1, id string2) {
NSRange string1Range = NSMakeRange(0, [string1 length]);
return [string1 compare:string2 options:comparisonOptions range:string1Range locale:currentLocale];
};
NSArray *finderSortArray = [stringsArray sortedArrayUsingComparator:finderSortBlock];
NSLog(@"finderSortArray: %@", finderSortArray);
检测网络使用状态
Reachability *reachability = [Reachability reachabilityForInternetConnection];
NetworkStatus internetStatus = [reachability currentReachabilityStatus];
switch (internetStatus) {
case kNotReachable:{
NSLog(@"%@",@"没有网络连接");
}
break;
case kReachableViaWWAN:{
NSLog(@"%@",@"使用3G网络");
}
break;
case kReachableViaWiFi:{
NSLog(@"%@",@"使用WIFI网络");
}
break;
default:
break;
}
UIFont相关属性
//不指定,指定斜体,指定粗体:
UIFont *font = [UIFont systemFontOfSize:20];
UIFont *font = [UIFont italicSystemFontOfSize:20];
UIFont *font = [UIFont boldSystemFontOfSize:20];
//指定”button标准/label标准/比标准小”用的大小:
UIFont *font = [UIFont systemFontOfSize: [UIFont buttonFontSize]];
UIFont *font = [UIFont systemFontOfSize:[UIFont labelFontSize]];
UIFont *font =[UIFont systemFontOfSize:[UIFont smallSystemFontSize]];
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error = nil;
NSArray *fileList = [[NSArray alloc] init];
//fileList便是包含有该文件夹下所有文件的文件名及文件夹名的数组
fileList = [fileManager contentsOfDirectoryAtPath:[self imageSavedPath:nil] error:&error];
Vim清空文件
Vim清空整个文件内容
首先,使用gg调整光标到首行,然后使用dG命令即可。(小d加大G)