CFAbsoluteTimeGetCurrent()
获取系统运行的当前绝对时间
nsarray 类定义的方法
1.makeObjectsPerformSelector:@select(aMethod)
简介:让数组中的每个元素 都调用 aMethod
2.makeObjectsPerformSelector:@select(aMethod) withObject:oneObject
简介:让数组中的每个元素 都调用 aMethod 并把 withObject 后边的 oneObject 对象做为参数传给方法aMethod
支付宝的接入注意点总结
1.确保需要的库全部导入
2.partner ,seller ,privateKey 三个参数的完整
3.支付完成跳回程序需要设置 appScheme , 最好使用英文,中文识别可能出错,造成无法跳回。
去除点击 cell 的效果
[tableView deselectRowAtIndexPath:indexPath animated:YES];
时间日期的格式转化
NSNumber *startTime = [temp objectForKey:@"addtime"];
NSDate *startTimeDate = [NSDate dateWithTimeIntervalSince1970:[startTime intValue]];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm"];//设置源时间字符串的格式
NSString *targetTime = [formatter stringFromDate:startTimeDate];//将时间转化成目标时间字符串
修改 tableCell 里面的图片圆角
在 cell 的 .m 文件里面修改
- (void)awakeFromNib {
_imgHead.clipsToBounds = YES;
_imgHead.layer.cornerRadius = 30;
}
下拉刷新的时候如何防止 crash (不判断是否有新数据加入,直接刷新,会有轻微的不适感)
在下拉刷新的时候,需要将数组内所有的数据移除,并且将界面刷新一遍,这样可以防止 crash。
[self.trainRoutineArray removeAllObjects];
[self.table reloadData];
在解析 json 数据的时候需要在循环体内初始化 Model ,这样才是正确的,在外部初始化会导致添加的数据重复。
原因: 在外部初始化,会导致内存空间只分配一次,在第一次赋值之后,会因为 Model 里面的 NSString 类型的数据无法被第二次赋值,造成了第二次添加数据到数组的时候还是第一次的数据。
常用日期结构:
yyyy-MM-dd HH:mm:ss.SSS
yyyy-MM-dd HH:mm:ss
yyyy-MM-dd
MM dd yyyy
iOS-NSDateFormatter 格式说明:
G: 公元时代,例如AD公元
yy:年的后2位
yyyy:完整年
MM:月,显示为1-12
MMM:月,显示为英文月份简写,如 Jan
MMMM:月,显示为英文月份全称,如 Janualy
dd:日,2位数表示,如02
d:日,1-2位显示,如 2
EEE:简写星期几,如Sun
EEEE:全写星期几,如Sunday
aa:上下午,AM/PM
H:时,24小时制,0-23
K:时,12小时制,0-11
m:分,1-2位
mm:分,2位
s:秒,1-2位
ss:秒,2位
S:毫秒
错误: Terminating app due to uncaught exception ‘NSInvalidArgumentException’, reason: ‘-[__NSCFNumber length]: unrecognized selector sent to instance 0x15580c90’
原因: 因为在接收的 Model 里面有些数据类型跟 json 数据的字段类型不同 (一般是非字符串的类型造成的)
解决方案: 将 json 数据里面的 int 或者 double 类型直接使用中间类型 NSNumber 类型来接收,并转化成 NSString 类型。
上传图片
[afManager POST:url parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyyMMddHHmmss";
NSString *str = [formatter stringFromDate:[NSDate date]];
[formData appendPartWithFileData:filename name:@"file" fileName:[NSString stringWithFormat:@"%@image1.png",str] mimeType:@"image/png"];
} success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) {
if (success) {
success(responseObject);
}
} failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];