开发总结

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"
	...                        //动态字段,根据不同凭证类型填写相应的字段和值

  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值