骑马纵天下

尽管走下去,不必逗留着,去采鲜花来保存,因为在这一路上,花自然会继续开放。


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 公益404

  • 搜索

iOS 时间字符串和时间戳使用

发表于 2019-03-22 | 分类于 时间字符串 | | 阅读次数:
字数统计: 411 | 阅读时长 ≈ 1

时间字符串就是当前日期加时间,时间戳是从1970年到现在的秒数
一、获取当前时间

1
2
3
4
5
6
7
8
//获取当前时间
- (NSString *)currentDateStr{
NSDate *currentDate = [NSDate date];//获取当前时间,日期
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];// 创建一个时间格式化对象
[dateFormatter setDateFormat:@"YYYY/MM/dd hh:mm:ss"];//设定时间格式,这里可以设置成自己需要的格式
NSString *dateString = [dateFormatter stringFromDate:currentDate];//将时间转化成字符串
return dateString;
}

阅读全文 »

计算字符串宽度

发表于 2018-12-31 | 分类于 计算字符串宽度 | | 阅读次数:
字数统计: 534 | 阅读时长 ≈ 2

iOS 7.0之后sizeWithFont计算字符串的方法被弃用了
用下面的方法代替

1
2
3
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont ipad_customFontWithName:@"PingFangSC-Regular" size:16.0f],NSFontAttributeName, nil];
CGRect rect = [@"宣教分类" boundingRectWithSize:CGSizeMake(kTitleLabeW, kBtnWH) options:NSStringDrawingUsesLineFragmentOrigin attributes:attributes context:nil];
NSLog(@"%f==%f",rect.size.width,rect.size.height);

阅读全文 »

字符串操作截取匹配分割替换....

发表于 2018-12-29 | 分类于 字符串 | | 阅读次数:
字数统计: 989 | 阅读时长 ≈ 4

1. 字符串截取

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
NSString *tempStr = @"123456789";
NSString *tempStr1 = [tempStr substringToIndex:5];//截取下标5之前的字符串
NSLog(@"截取值为 == %@",tempStr1);
NSString *tempStr2 = [tempStr substringFromIndex:5];//截取下标5之后的字符串
NSLog(@"截取值为 == %@",tempStr2);
输出:
2018-12-29 15:24:44.734291+0800 compareDic[9389:721614] 截取值为 == 12345
2018-12-29 15:24:44.734425+0800 compareDic[9389:721614] 截取值为 == 6789

处理字符串,使其首字母大写 字符串删除替换
NSString *tempStr = @"abcdefghijklmn";
NSString *resultStr;
if (tempStr && tempStr.length > 0) {
//取字符串第一个 让其变成大写
resultStr = [tempStr stringByReplacingCharactersInRange:NSMakeRange(0,1) withString:[[tempStr substringToIndex:1] capitalizedString]];
}
NSLog(@"%@", resultStr);
输出
2019-04-17 14:59:03.950001+0800 PICC[16043:778206] Abcdefghijklmn


NSString *tempStr = @"abcdefghijklmn";
NSString *resultStr;
if (tempStr && tempStr.length > 0) {
//取最后一个字符串 删除 字母n
resultStr = [tempStr stringByReplacingCharactersInRange:NSMakeRange(tempStr.length-1,1) withString:@""];
}
NSLog(@"%@", resultStr);
输出
2019-04-17 14:57:21.395348+0800 PICC[15986:769010] abcdefghijklm

//替换最后两个字符串
NSString *tempStr = @"abcdefghijklmn";
NSString *resultStr;
if (tempStr && tempStr.length > 0) {
//取字符串第一个 让其变成大写
resultStr = [tempStr stringByReplacingCharactersInRange:NSMakeRange(tempStr.length-2,2) withString:@"替换"];
}
NSLog(@"%@", resultStr);
输出
2019-04-17 15:00:29.474159+0800 PICC[16075:786095] abcdefghijkl替换
解释:NSMakeRange(tempStr.length-1, 1),将字符串tempStr.length定位到倒数第二个即‘m’,取长度为1的字符串,即m后第一个字符串 ‘n’,用字符串@“”替代‘n’,即所得的结果为“abcdefghijklm”
阅读全文 »

iOS支付三部曲之集成支付宝支付

发表于 2018-11-14 | 分类于 支付宝 | | 阅读次数:
字数统计: 1.3k | 阅读时长 ≈ 5

支付宝支付

一. 开发前的准备

  • 创建应用>申请开通APP支付>签约>审核,等待时间大概一天左右。
  • 秘钥:不过一般用不到(支付时后台会返回),如果要试支付宝的demo可以找后台或者产品要。
    阅读全文 »

iOS支付三部曲之集成微信支付

发表于 2018-11-14 | 分类于 微信支付 | | 阅读次数:
字数统计: 1.3k | 阅读时长 ≈ 5

微信支付

一. 微信支付步骤

1
2
3
4
5
1. 用户进入商户APP,选择商品下单、确认购买,进入支付环节。商户服务后台生成支付订单,签名后将数据传输到APP端。
2. 用户点击后发起支付操作,进入到微信界面,调起微信支付,出现确认支付界面。
3. 用户确认收款方和金额,点击立即支付后出现输入密码界面,可选择零钱或银行卡支付。
4. 输入正确密码后,支付完成,用户端微信出现支付详情页面。
5. 回跳到商户APP中,商户APP根据支付结果个性化展示订单处理结果。
阅读全文 »

iOS 防止UIButton暴力点击

发表于 2018-09-14 | 分类于 UIButton | | 阅读次数:
字数统计: 878 | 阅读时长 ≈ 4
  • 每次在点击时先取消之前的操作
1
2
3
4
5
6
7
8
9
10
- (void)buttonClick:(UIButton *)violenceBtn{
//点击按钮后先取消之前的操作,再进行需要进行的操作
[[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(handleClickEvent:) object:violenceBtn];
[self performSelector:@selector(handleClickEvent:) withObject:violenceBtn afterDelay:0.5f];//时间0.5
}
//点击事件的处理方法
- (void)handleClickEvent:(UIButton *)btn{

NSLog(@" %s ",__FUNCTION__);
}
阅读全文 »

iOS 设置.gitignore文件 忽略.DS_Store 、xcuserstate等文件

发表于 2018-06-22 | 分类于 .gitignore | | 阅读次数:
字数统计: 931 | 阅读时长 ≈ 3

开发项目时会有一些文件一直自动更新但是不必提交的文件如版本管理文件,如果不忽略提交代码时会遇到下方报错。比如xcuserstate文件,这个文件会实时更新不管有没有更改过代码等,此文件保存的是项目的状态之类的,不需要提交。

1
2
3
The working copy “项目名称” has uncommitted changes.

Commit or discard the changes and try again.

此时需要配置git的.gitignore文件忽略掉不需要提交的文件。

阅读全文 »

iOS 后台返回json解析出现的null的解决办法

发表于 2017-08-30 | 分类于 json | | 阅读次数:
字数统计: 498 | 阅读时长 ≈ 1

在后台返回值为Null为空时,我们代码没有判断时,程序就会崩溃。当时一直很疑惑是为啥,后来发现是数据问题,由于服务器的数据库中有些字段为空,然后以Json形式返回给客户端时就会出现这样的数据。当我们通过一些第三方数据解析库解析数据后,就会是下图这种数据格式。null既不是字符串也不是nil所以我们有些判断是没用的。

阅读全文 »

iOS 内购遇到的坑

发表于 2017-07-24 | 分类于 内购 | | 阅读次数:
字数统计: 1.1k | 阅读时长 ≈ 4

####一.内购沙盒测试账号在支付成功后,再次购买相同 ID 的物品,会提示如下内容的弹窗。您以购买过此APP内购项目,此项目将免费恢复

阅读全文 »

iOS内购图文流程(2017)

发表于 2017-06-20 | 分类于 内购 | | 阅读次数:
字数统计: 1.7k | 阅读时长 ≈ 7

#什么是内购?

只要在iPhone App上购买的不是实物产品(也就是虚拟产品如qq币.虎牙币.电子书……) 都需要走内购流程,苹果在里面抽走三成。

#使用内购需要走的流程。

1,填写协议,税务和银行业务;
2,填写用户和职能; 创建内购的项目
3,写代码,和后台配合
4,添加项目内购测试账号;检验成果
阅读全文 »
123
leon

leon

进步的攻城狮!

21 日志
17 分类
27 标签
推荐链接
  • 简书
  • 掘金
© 2015 — 2019 leon
博客全站共14.4k字
本站访客数 人次 本站总访问量 次