iOS 中 pt 与px的区分
//iOS url编码
- (NSString*)encodeValue:(NSString*)value
{
NSString* encodedValue = value;
if (value.length > 0) {
NSCharacterSet *charset = [[NSCharacterSet characterSetWithCharactersInString:@"!*'();:@&=+$,/?%#[]"]invertedSet];
encodedValue = [value stringByAddingPercentEncodingWithAllowedCharacters:charset];
}
return encodedValue;
}
[@"str" stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
NSString *urlEncode = [valueStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet characterSetWithCharactersInString:@"!*'\"();:@&=+$,/?%#[]%"] ];
//判断是否正确的价格
BOOL isValidPrice(NSString *priceStr){
if (priceStr) {
priceStr = [priceStr stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSString *stringRegex = @"(\\+|\\-)?(([0]|(0[.]\\d{0,2}))|([1-9]\\d{0,4}(([.]\\d{0,9})?)))?";
NSPredicate *test = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", stringRegex];
BOOL flag = [test evaluateWithObject:priceStr];
if (!flag) {
return NO;
}
return YES;
}
return NO;
}
1.判断是否为正整数.
NSString *numStr = [value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
BOOL isValidNumber(NSString *numStr){
NSString * regex = @"(^[1-9]\\d*|0$)";
NSPredicate * pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
BOOL isMatch = [pred evaluateWithObject:numStr];
if (isMatch) {
return YES;
}else{
return NO;
}
}
2.iOS 让视图UIView 单独显示某一侧的边框线
iOS开发 给View添加指定位置的边框线
需求
一个接口实现多个字段值新增、修改、删除,同时支持多个图片附件新增、删除和修改。
分析
总体来说,文本值和图片附件拆分为两个部分。
id -> 实体类id (新增就传"")
fileIndex -> 文件位置 (eg:"0,1,2,3" )
deleteFileIds -> 删除文件的id(多个以英文字母逗号隔开,若无则传"")
假如,新增一个凭证数据(同时添加了四个图片附件),这时可以向后台接口传递id为"",fileIndex为"0,1,2,3",文件流按照顺序提交文件,那么后台就可以根据fileIndex知道文件位置
伪代码
SpecialProofDetails:
//一些可选公共的字段:
specialData:@{
@"bdType": @"专项类型", //专项类型
@"needApprove": @"1", //是否需要审批,1是,0否
@"pzlx": @"凭证类型", //凭证类型
... //可选动态字段,
}
//新增的凭证数据
@{
@"id": @"" , //凭证id传空
@"deleteFileIds": @"", //删除文件id为空,
@"fileIndex": @"文件位置" //比如上传了四个文件,那么fileIndex填写的是:"0,1,2,3"
... //动态字段,根据不同凭证类型填写相应的字段和值
}
//删除凭证
deleteIds:"凭证id1,凭证id2,凭证id3,..." //多个以英文逗号隔开,比如删除了凭证id为70,73,74的凭证 :"70,73,74"
//修改凭证数据
@{
@"id": @"要传个id" , //凭证id不能为空
@"deleteFileIds": @"删除文件id", //删除文件id
@"fileIndex": @"文件位置" //不传代表没修改凭证图片,如果上传了,就填写图片位置的索引,"0,1,2,3"
... //动态字段,根据不同凭证类型填写相应的字段和值
}