iOS小常识,提高效率必备
1、iOS数组求和、最大,最小、平均值
-(void)testSome
{
NSArray *array = [NSArray arrayWithObjects:@"2.0", @"2.3", @"3.0", @"4.0", @"10", nil];
CGFloat sum = [[array valueForKeyPath:@"@sum.floatValue"] floatValue];
CGFloat avg = [[array valueForKeyPath:@"@avg.floatValue"] floatValue];
CGFloat max = [[array valueForKeyPath:@"@max.floatValue"] floatValue];
CGFloat min = [[array valueForKeyPath:@"@min.floatValue"] floatValue];
NSLog(@"%f\n%f\n%f\n%f",sum,avg,max,min);
}
输出:
21.299999
4.260000
10.000000
2.000000
2、GBK国标编码格式 解码
unsigned long encode = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSString *receiverStr4 = [[NSString alloc] initWithData:data encoding:encode];
3、pod更新时候没权限
还有就是安装cocoapods没有权限的时候,
本来是$sudo gem install cocoapods ,
但是显示没有权限,换成这句
$sudo gem install -n /usr/local/bin cocoa pods
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
bogon:~ my$ sudo gem install -n /usr/local/bin cocoapods
4、Mac文件损坏,提示删除
- 如果出现文件损坏
- sudo spctl --master-disable
- 命令 将允许app运行设置为 任何来源
5、Frame使用
CGRect frame = self.view.frame;
CGFloat x = CGRectGetMinX(frame);
CGFloat y = CGRectGetMinY(frame);
CGFloat width = CGRectGetWidth(frame);
CGFloat height = CGRectGetHeight(frame);
CGRect frame = CGRectMake(0.0, 0.0, width, height);
6、定义常量
//普通常量
static const NSTimeInterval ANIMATION_DURATION = 0.3;
//外部常量
extern const NSTimeInterval TYANIMATION_DURATION;
7、NSDictionary setObject
//错误
[dic setObject:obj forKey:@"key"];
//正确
[dic setObject:obj ? obj:@"" forKey:@"key"];
8、 array addObject
//错误
[array addObject:obj];
//正确
if (obj)
{
[array addObject:obj];
}
9、array[index]
array[index];
//正确
if (array && index < array.count) {
array[index];
}