第一份代码,为了纠正原代码不显示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中需要注意的事项的更多相关文章

  1. iOS开发 Xcode8中遇到的问题及改动

      iOS开发 Xcode8中遇到的问题及改动 新版本发布总会有很多坑,也会有很多改动. 一个一个填吧... 一.遇到的问题 1.权限以及相关设置 iOS10系统下调用系统相册.相机功能,或者苹果健康 ...

  2. ITMS-SERVICES://方式安装IPA在IOS 7.1中的变化

    转:https://laoyur.com/?p=414 iOS7.1中,通过itms-services://方式安装ipa已经发生了改变,.plist文件必须是https://的,.ipa文件的链接则 ...

  3. iOS 在cell中使用倒计时的处理方法(新)

    一.前言 之前的文章iOS 在cell中使用倒计时的处理方法得到大量的支持, 在这先感谢大家的支持. 但是也收到不少人的回复表示不会用, 需要一一解答, 由于之前写的时候没有使用Markdown编辑, ...

  4. iOS开发——基础篇——iOS开发 Xcode8中遇到的问题及改动

      iOS开发 Xcode8中遇到的问题及改动 新版本发布总会有很多坑,也会有很多改动. 一个一个填吧... 一.遇到的问题 1.权限以及相关设置 iOS10系统下调用系统相册.相机功能,或者苹果健康 ...

  5. iOS 解决LaunchScreen中图片加载黑屏问题

    iOS 解决LaunchScreen中图片加载黑屏问题 原文: http://blog.csdn.net/chengkaizone/article/details/50478045 iOS 解决Lau ...

  6. JSPatch 中 defineClass 中覆盖方法的使用

    今天研究了一下JSPatch,发现好神奇好奇妙,感觉这几天我都会乐此不彼的去研究这个高大上的东西. 出处来着:https://github.com/bang590/JSPatch 简单介绍一下这个 d ...

  7. unity导出工程导入到iOS原生工程中详细步骤

    一直想抽空整理一下unity原生工程导入iOS原生工程中的详细步骤.做iOS+vuforia+unity开发这么长时间了.从最初的小小白到现在的小白.中间趟过了好多的坑.也有一些的小小收货.做一个喜欢 ...

  8. iOS原生项目中集成React Native

    1.本文的前提条件是,电脑上已经安装了CocoaPods,React Native相关环境. 2.使用Xcode新建一个工程.EmbedRNMeituan [图1] 3.使用CocoaPods安装Re ...

  9. iOS:项目中疑难Crash问题集锦

    项目中疑难Crash问题集锦 iOS App运行中遇到Crash的情况相信大家都遇到过,开发和者测试中遇到了可能很方便的办法就是直接拿着设备连接一下,然后使用Xcode自带的工具就可以解析出Crash ...

随机推荐

  1. git使用手册

    1.git常用命令 >>首先做git clone 形成本地repository: >>然后做checkout形成分支 列出所有分支  $ git branch –r 切换到新分 ...

  2. Python之路Day20-Django一对一(多)以及Ajax

    上节内容回顾 问题一:Django请求生命周期 -> URL对应关系(匹配) -> 视图函数 -> 返回用户字符串-> URL对应关系(匹配) -> 视图函数 -> ...

  3. bat 延时删除指定文件夹中的文件经验分享

    1.bat延时 xp程序中通过ping 127.0.0.1 -n 20 来实现延时操作,ping本地地址20行. win7中通过timeout 20 来实现延时20秒. 2.删除指定文件 del /q ...

  4. PHP基础知识之变量

    定义: 变量用一个美元符号后面跟变量名来表示,如:$user 变量引用赋值: 引用赋值用一个&后面跟源变量名来表示,如:$copy=&$user(注:$bar = &(24 * ...

  5. jquery的each

    each()方法能使DOM循环结构简洁,不容易出错.each()函数封装了十分强大的循环功能,使用也很方便,它可以循环一维数组.多维数组.DOM, JSON 等等在javaScript开发过程中使用$ ...

  6. JAVA演算法---約瑟夫問題

    1 public class Josephus { public static int[] arrayOfJosephus( int number, int per) { 3 int[] man = ...

  7. Android应用安全开发之浅谈加密算法的坑

      <Android应用安全开发之浅谈加密算法的坑> 作者:阿里移动安全@伊樵,@舟海 阿里聚安全,一站式解决应用开发安全问题     Android开发中,难免会遇到需要加解密一些数据内 ...

  8. MyBatis(跨表查询)

    1.建立数据库表如下: DROP TABLE IF EXISTS t_demo_user; CREATE TABLE IF NOT EXISTS t_demo_user( userid ), user ...

  9. 基于zookeeper实现统一资源管理

    分布式系统中经常涉及到配置资源的管理,比如,一个应用系统需要部署在多台服务器上,但是他们拥有某些的配置项是相同的,如果配置变更,需要修改这些配置,那么需要同时修改每台服务器,这样做比较麻烦而且容易出错 ...

  10. .NET中使用APlayer组件自制播放器

    目录 说明 APlayer介绍 APlayer具备功能 APlayer使用 自制播放器Demo 未完成工作 源码下载 说明 由于需求原因,需要在项目中(桌面程序)集成一个在线播放视频的功能.大概要具备 ...