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 ...
随机推荐
- CSS预处理框架:less,scss
CSS预处理器:less和sass:CSS 预处理器是一种语言用来为 CSS 增加一些编程的的特性,无需考虑浏览器的兼容性问题,例如你可以在 CSS 中使用 变量.简单的程序逻辑.函数等等在编程语言中 ...
- Android带边框表格的实现
最近做项目需要用到表格,数据是动态指定的,本来用GridView是很方便的,可是老大不同意用这么重量级的控件,想办法吧. 做表格很容易想到用TableLayout,那就自定义一个来搞. 一.表格最蛋疼 ...
- 【Beta】Daily Scrum Meeting第四次
1.任务进度 学号 已完成 接下去要做 502 修复和完善任务列表界面:将几个数据库操作封装起来 登陆时将返回的个人信息更新到本地数据库 509 创建报课表的API 给所有api添加注释:发布任务到服 ...
- Python之路【第七篇】python基础 之socket网络编程
本篇文章大部分借鉴 http://www.cnblogs.com/nulige/p/6235531.html python socket 网络编程 一.服务端和客户端 BS架构 (腾讯通软件:ser ...
- POJ 2519
又是一个水题?? 不过还是弄是很久... 在蒟蒻的路上越走越远 , 好了讲题 新生晚会 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- 【noip 2005】 采药
题目描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:" ...
- 后台post get请求
/// <summary> /// 执行HTTP POST请求. /// </summary> /// <param name="url">请求 ...
- 一鼓作气 博客--第一篇 note1
1. 语言的类型 ,编译型(c,c++),解释型(python,php,ruby,java),编译型可移植性差,优点是运行速度快,解释型语言特点:边执行边翻译,速度慢. 2.翻译官就是机器的解释器,跟 ...
- 使用java反射机制编写Student类并保存
定义Student类 package org; public class Student { private String _name = null; ; ; public Student() { } ...
- 发布两款JQ小插件(图片查看器 + 分类选择器),开源
图片查看器,github地址:https://github.com/VaJoy/imgViewer 效果如下: 这款当初大概写了2小时,有点匆忙地赶出来的,使用的接口很简单: $.bindViewer ...