ios使用jspatch中需要注意的事项
第一份代码,为了纠正原代码不显示29号的bug,先上代码
require('NSString','MCDatePickType','NSMutableArray','UIButton');
defineClass('MMCDatePickView',{
setDatePickViewSelected: function() {
self.setSelectedYearRow(self.yearArray().indexOfObject(self.currentYearString()));
self.setSelectedDayRow(self.DaysArray().indexOfObject(self.currentDayString()));
self.setSelectedHourRow(self.hoursArray().indexOfObject(self.currentHourString()));
self.setSelectedMinuteRow(self.minutesArray().indexOfObject(NSString.stringWithFormat("%@分", self.currentMinuteString())));
// 设置年和月
var MonthAndYear = self.currentYearString().toJS() + '年' + self.currentMonthString().toJS() + '月';
if (self.type() === 0) {
for (var i = 0; i < self.yearArray().count(); i++) {
var jsArray = self.yearArray().toJS();
var year = jsArray[i];
if (year == self.currentYearString().toJS()) {
self.datePickView().selectRow_inComponent_animated(i, 0, YES);
break;
}
}
}
else {
self.setSelectedMonthRow(self.yearAndMonthArray().indexOfObject(MonthAndYear));
self.datePickView().selectRow_inComponent_animated(self.selectedMonthRow(), 0, YES);
if (self.type() !== 0 && self.type() !== 1 && self.type() !== 5) {
self.datePickView().selectRow_inComponent_animated(self.selectedDayRow(), 1, YES);
}
//选中小时
if (self.type() === 3 || self.type() === 4) {
self.datePickView().selectRow_inComponent_animated(self.selectedHourRow(), 2, YES);
}
//选中分
if (self.type() === 4) {
self.datePickView().selectRow_inComponent_animated(self.selectedMinuteRow(), 3, YES);
}
// 选中自定义的
if (self.type() === 5) {
self.datePickView().selectRow_inComponent_animated(self.customerIndex(), 0, YES);
}
}
}
});
注意事项:
1.在对字符或者数组,字典操作的时候应该转成js的字符串或者字典,等等
var MonthAndYear = self.currentYearString().toJS() + '年' + self.currentMonthString().toJS() + '月';
上边的代码是正确的,MonthAndYear 就是js格式的字符串,下边的是不对的:
var MonthAndYear = self.currentYearString() + '年' + self.currentMonthString() + '月';
2.在进行比较的时候,使用相同类型,js的数据类型和oc的不一样
var jsArray = self.yearArray().toJS();
var year = jsArray[i];
if (year == self.currentYearString().toJS()) { self.datePickView().selectRow_inComponent_animated(i, 0, YES); break;
}
3.js 是弱类型语言,不强调类型,oc的枚举在js中不好使,
self.type() === 0
最终还是把枚举转成了基本数据类型
ios使用jspatch中需要注意的事项的更多相关文章
- iOS开发 Xcode8中遇到的问题及改动
iOS开发 Xcode8中遇到的问题及改动 新版本发布总会有很多坑,也会有很多改动. 一个一个填吧... 一.遇到的问题 1.权限以及相关设置 iOS10系统下调用系统相册.相机功能,或者苹果健康 ...
- ITMS-SERVICES://方式安装IPA在IOS 7.1中的变化
转:https://laoyur.com/?p=414 iOS7.1中,通过itms-services://方式安装ipa已经发生了改变,.plist文件必须是https://的,.ipa文件的链接则 ...
- iOS 在cell中使用倒计时的处理方法(新)
一.前言 之前的文章iOS 在cell中使用倒计时的处理方法得到大量的支持, 在这先感谢大家的支持. 但是也收到不少人的回复表示不会用, 需要一一解答, 由于之前写的时候没有使用Markdown编辑, ...
- iOS开发——基础篇——iOS开发 Xcode8中遇到的问题及改动
iOS开发 Xcode8中遇到的问题及改动 新版本发布总会有很多坑,也会有很多改动. 一个一个填吧... 一.遇到的问题 1.权限以及相关设置 iOS10系统下调用系统相册.相机功能,或者苹果健康 ...
- iOS 解决LaunchScreen中图片加载黑屏问题
iOS 解决LaunchScreen中图片加载黑屏问题 原文: http://blog.csdn.net/chengkaizone/article/details/50478045 iOS 解决Lau ...
- JSPatch 中 defineClass 中覆盖方法的使用
今天研究了一下JSPatch,发现好神奇好奇妙,感觉这几天我都会乐此不彼的去研究这个高大上的东西. 出处来着:https://github.com/bang590/JSPatch 简单介绍一下这个 d ...
- unity导出工程导入到iOS原生工程中详细步骤
一直想抽空整理一下unity原生工程导入iOS原生工程中的详细步骤.做iOS+vuforia+unity开发这么长时间了.从最初的小小白到现在的小白.中间趟过了好多的坑.也有一些的小小收货.做一个喜欢 ...
- iOS原生项目中集成React Native
1.本文的前提条件是,电脑上已经安装了CocoaPods,React Native相关环境. 2.使用Xcode新建一个工程.EmbedRNMeituan [图1] 3.使用CocoaPods安装Re ...
- iOS:项目中疑难Crash问题集锦
项目中疑难Crash问题集锦 iOS App运行中遇到Crash的情况相信大家都遇到过,开发和者测试中遇到了可能很方便的办法就是直接拿着设备连接一下,然后使用Xcode自带的工具就可以解析出Crash ...
随机推荐
- [IOS] 'Double' is not convertible to 'CGFloat'
在做一个对象旋转的时候,要求转动的弧度角, 这个地方报错,如题的错误,其实是类型转换的问题,swift不能静静的做类型转换,一定要显式的转换 typeTableView?.transform=CGAf ...
- [转]Android ListView 与 RecyclerView 对比浅析—缓存机制
从源码角度剖析ListView 与 RecyclerView 缓存机制的不同 https://zhuanlan.zhihu.com/p/23339185 原文地址:http://dev.qq.com/ ...
- BCD码和十六进制,十进制转换
参考文档: http://wenku.baidu.com/link?url=CfK2Wl7sCEmpzEabnbHSbcwf2t4yoSH6_n8sUIRw54piWaRB7hZ6RkaStWEkbC ...
- pythonchallenge 解谜 Level 7
#-*- coding:utf-8 -*- #代码版本均为python 3.5.1 #Level 7 from PIL import Image x_begin, x_end = 0, 609 y_b ...
- C# Json传值与解析
最近接触了工作室的项目,觉得一个功能的实现有点不好,心想不能就动手改了下,做了才知道我的js是多么的渣,功能是这样的: 我要实现的功能就是当选择学院时,就放松get请请求到后台,后台返回json信息再 ...
- java获取cpu和内存
利用jar包sigar 下载地址:http://sourceforge.net/projects/sigar/files/latest/download?source=files 需要将sigar-x ...
- JS图片上传预览
HTML部分: <img id="avatar" class="editable img-responsive" alt="头像" s ...
- ASP.NET Aries 开源开发框架:开发指南(一)
前言: 上周开源了Aries开发框架后,好多朋友都Download了源码,在运行过程里,有一些共性的问题会问到. 所以本篇打算写一下简单的开发指南,照顾一下不是太看的懂源码的同学,同时也会讲解一下框架 ...
- c# 元组Tuple
Tuple类型像一个口袋,在出门前可以把所需的任何东西一股脑地放在里面.您可以将钥匙.驾驶证.便笺簿和钢笔放在口袋里,您的口袋是存放各种东西的收集箱.C# 4.0引入的一个新特性 Tuple类型与口袋 ...
- ASP.NET Core中使用URL重写
ASP.NET Core 1.1 Preview 1 中新增了 URL Rewriting middleware ,终于可以进行 URL 重写了,实际使用体验一下. 首先要将 ASP.NET Core ...