美文网首页
汇率换算项目总结

汇率换算项目总结

作者: 落夏简叶 | 来源:发表于2017-08-31 14:55 被阅读38次

汇率换算问题集合

afn有时候请求接口会有问题

接口没错

  1. Attempting to modify object outside of a write transaction - call beginWriteTransaction on an RLMRealm instance first.

    (企图在 写入事务 外修改对象)[http://blog.csdn.net/qq_31810357/article/details/52088268];

  2. 修改UITableView 右侧索引栏的背景颜色和字体颜色

//索引栏底色
    tableView.sectionIndexBackgroundColor = [UIColor blackColor];

//索引字体颜色
    tableView.sectionIndexColor = [UIColor grayColor];
  1. 取消cell的选中状态
preferCell.selectionStyle = UITableViewCellSelectionStyleNone;
  1. 根据十六进制设置颜色
#define UIColorFromRGBA(rgbValue, alphaValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:(float)alphaValue]
  1. 设置cell的属性的时候要等cell存在再设置,要不然会无效
//在注释处设置取消选中状态没用
static NSString *defaultCell = @"defaultCell";
            UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:defaultCell];
//            cell.selectionStyle = UITableViewCellSelectionStyleNone;
            if (cell == nil) {
                cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:defaultCell];
            }
            cell.selectionStyle = UITableViewCellSelectionStyleNone;
  1. 计算cell的汇率,是总的基于一个接口,接口中包含了所有货币相对于USD的转换,所以我计算只用请求一次接口,而不是换算一个请求一个,大大减轻了对网络的依赖。

  2. 所有关于cell的设置都用model来设置,要不然会有重用的问题,很麻烦,(包括cell文字的颜色)。

  3. 接口以美元为基准货币的很多数据

https://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote?format=json
  1. 最后一行有一个添加的功能,因为我是在sb里面拖拽的,但是,在sb里面为tableView设置footerView不是那么方便,所以,我采用了两个不同类型的cell做的。这样就是要判断,是不是最后一行。来显示不同的cell。这样有一个问题就是,我的tableView要有删除的功能,所以,这样还要再次判断cell是正常的cell还是添加的cell。感觉如果食用footerView会简单一些。

  2. Realm数据库修改数据,有两种方式,一是通过主键来修改。二,当没设置主键的时候,就从数据库中拿到对应要修改的数据,把它的属性一个个的重新赋值。

  3. Realm数据库里面取数据,有时不是按添加顺序取出,如果要拿到有一定顺序的数据,一定要排序!!!(这里被坑死了)

//这样取不一定是你想要的顺序
[currencyPreferenceModel allObjects]

//如果要有一定顺序的数据,则根据属性排序,如 indexPathRow 是 currencyPreferenceModel 中的属性
[[currencyPreferenceModel allObjects] sortedResultsUsingKeyPath:@"indexPathRow" ascending:YES]
  1. Realm数据搜索数据,根据多个条件搜索,用OR连接,如
NSPredicate *countyPredicate = [NSPredicate predicateWithFormat:@"countryName CONTAINS[cd] %@ OR currencyCode CONTAINS[cd] %@ OR currencyName CONTAINS[cd] %@",text,text,text];
self.searchResultArr = [self.defaultArray objectsWithPredicate:countyPredicate];
  1. 关于UITableViewCell的一些属性设置
//设置cell后面又个勾勾
cell.accessoryType = UITableViewCellAccessoryCheckmark;

//默认勾勾好像是蓝色的,想改变勾勾(cell.accessoryType)的颜色
cell.tintColor = [UIColor whiteColor];

//不想要cell的背景
cell.backgroundColor = [UIColor clearColor];

  1. 默认tableView的section的title只能设置title的内容,想要修改title的大小,颜色啥的,就在下面的方法该。
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    NSString *sectionTitle = [self tableView:tableView titleForHeaderInSection:section];
    if (sectionTitle==nil) {
        return nil;
    }
    
    // Create label with section title
    UILabel *label = [[UILabel alloc] init];
    label.frame = CGRectMake(12, 0, tableView.bounds.size.width, 50);
    label.textAlignment = NSTextAlignmentLeft;
    label.backgroundColor = [UIColor clearColor];
    label.textColor = UIColorFromRGB(0xa2a2a2);
    label.font = [UIFont fontWithName:@"PingFangSC-light" size:15];
    label.text = sectionTitle;
    
    // Create header view and add label as a subview
    UIView *sectionView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 50)];
    [sectionView setBackgroundColor:UIColorFromRGBA(0x00112c, 0.7)];
    [sectionView addSubview:label];
    return sectionView;
}

//设置了自定义的sectionView的高度,不要忘记在下面的方法也设置一下,小心错位啦
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return 50;
}


UITextFiled 使用

  1. 点击textFiled的时候不让系统的键盘弹出。
//在textField开始编辑的时候
self.inputView = [[UIView alloc] initWithFrame:CGRectZero];
  1. 让textFile点击之后弹出自己想要的输入框
//自定义的一个view
self.inputView = [XXCalculator calculator];
这里要注意,这个自定义的view最好就是一个简简单单的view,我开始把这个view加到一个父view的时候(之前是为了封装这个view)就一直报错:“<UICompatibilityInputViewController: 0x14f9c6850> should have parent view controller: xxx but requested parent is:<UIInputWindowController: xxx>'”
  1. 很奇怪一点,当换成自己的输入view之后,不再响应editChange方法,不过editBegin方法还是可以响应。

  2. 当tableView中有textFiled的时候,此时键盘遮挡了textFiled,可以使用以下方法(让tableView的高度整体上移)

- (void)setTXListener {
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillShow:)
                                                 name:UIKeyboardWillShowNotification
                                               object:nil];
    
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardWillHide:)
                                                 name:UIKeyboardWillHideNotification
                                               object:nil];
}

- (void)keyboardWillShow:(NSNotification *)aNotification
{
    NSDictionary *userInfo = [aNotification userInfo];
    NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];
    CGRect keyboardRect = [aValue CGRectValue];
    float height = keyboardRect.size.height;
    
    self.setTable.contentOffset = CGPointMake(0, height);
}


- (void)keyboardWillHide:(NSNotification *)aNotification{
    
    self.setTable.contentOffset = CGPointMake(0, 0);
}
  1. 改变textFiled的placeholder的颜色和大小,用sb的话,可以在sb的inspector中的User Defined Runtime Attributes 中通过keyPath的方式添加属性 参考下图
修改textFiled的placeholder属性.png
//代码设置
textField.placeholder = @"手机号码"; 
[textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"]; 
[textField setValue:[UIFont boldSystemFontOfSize:16] forKeyPath:@"_placeholderLabel.font"];

相关文章

  • 汇率换算项目总结

    汇率换算问题集合 afn有时候请求接口会有问题 接口没错 Attempting to modify object ...

  • 极简汇率|弹指之间,汇率换算。

    极简汇率是一款汇率换算助手,主要用于不同汇率之间的换算,以及多种货币汇率之间的对比。 爱屁屁默认显示人民币与港币、...

  • 自然语言理解 之 汇率换算

    用olami开放语义实现汇率换算功能 >>>>>>>>>>>>>>>>>>>>>>>> 欢迎转载 <<<<<<<<...

  • 汇率换算器

    技术支持: QQ:786709337 邮箱:786709337@qq.com 微信公众号:唯美应用大全 应用下载链...

  • 汇率换算器

    应用下载链接:https://itunes.apple.com/cn/app/id1377013547?mt=8 ...

  • 旅行帮帮乐

    【欢迎使用旅行助手 ! 汇率、记账、游记一手掌握】 -制定行程提醒,撰写游记。 -汇率换算每天更新 -旅游记账...

  • 极简汇率-让算汇率更简单一些

    极简汇率是一款以简单为宗旨的汇率换算应用,相比较上次推荐的Smart Coin这次的极简汇率容量只有5.4MB,只...

  • 汇花花-汇率换算工具

    汇花花-汇率换算工具,出国旅行购物必备。 我们的创业产品目前试运营中,V1.0.0版本即将上线 版本介绍: * 快...

  • 案例(1):汇率兑换

    本章通过汇率兑换的5个案例来进行学习基础的Python程序 案例描述 设计一个简单的汇率换算器程序,功能是能将外币...

  • 2019-01-14

    日本大阪京都奈良攻略 大阪 京都 奈良 美食 交通 汇率换算 1000日元=62.597人民币

网友评论

      本文标题:汇率换算项目总结

      本文链接:https://www.haomeiwen.com/subject/rquqjxtx.html