摘要(Abstract)

EdgeX Foundry 的原始代码主要来自 Dell 的 Fuse 项目,以 Apache 2.0 许可证发布。主要编程语言是Java,整体框架采用 Spring Boot、Spring Framework、Docker、Consul 等微服务注册和配置中心等技术构成。 其中核心微服务有 8 个:分别是 core-data、command、metadata、consul、mongodb、edgex-files、log、notification 服务,这是启动 EdgeX Foundry 工程的最小依赖。

主题(Topic)



项目(Project)

201528013329008/objc-0823 LoveEunice/Foundation--NSNumber- akwei/HKJSONKitEx vipwangl/NSArrayCategory Eyshen/ios-zy-json { cc.log(str, number, bool) }) objective-c @interface SomeClass : NSObject +(void) FuncName : (NSString*) str arg1 : (NSNumber) number arg2 : (BOOL) b arg3 : (NSString*) cbName { JS::call(cbName, @[@"your string", @2017, Yes]); } @end java class SomeClass { static public void FuncName(String s, double d, boolean b, String cbName) { Js.call(cbName, "your string", 2017, true); } } 使用方法 拷贝Native.js 到你的creator项目中 拷贝Js.mm & Js.h 到你的ios目录,并添加到xcode中 拷贝Js.java 到安卓 org/cocos2dx/javascript 下 注意 在ios端调用js时候,bool值必须使用 Yes 和 No 在ios端 函数多个参数 必须写成arg1 arg2 ... arg10这样。 js回调函数在本地代码中用string类型接收 js回调调用一次之后就会被移除。 Android端代码都要放在 org/cocos2dx/javascript 包下 代码比较少,有bug请自行修改,当然也可以给个Pr。" class="topic-tag topic-tag-link"> linfrui/creator-native-bridge 0) {//如果取词字典里有数据 NSMutableDictionary *tempDic = _selectRangeDic;//把取词字典传给临时字典 int i = 0; for (NSString *wordKey in [tempDic allKeys]) { i++; if ([wordKey isEqualToString:wordLocation]) {//如果取词字典里已经存在此单词 [_selectRangeDic removeObjectForKey:wordLocation];//从字典里移除此元素 //恢复单词原本颜色 [textView.textStorage addAttribute:NSForegroundColorAttributeName value:[Constants highLightColor] range:_selectionRange];//前景色 break; } if (tempDic.count == i) {//如果循环到了最后一个,说明取词字典不存在此单词 [_selectRangeDic setObject:self.selectWord forKey:wordLocation];//把取词的位置与内存存入字典 //变为红色 [textView.textStorage addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:_selectionRange];//前景色 } } }else{//如果取词数组没数据 [_selectRangeDic setObject:self.selectWord forKey:wordLocation]; //变为红色 [textView.textStorage addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:_selectionRange];//前景色 //[textView.textStorage addAttribute:NSBackgroundColorAttributeName value:[UIColor clearColor] range:_selectionRange ];//背景色 } } NSString * sepratorString = @" ,,。.?!:\"“”-()'‘"; NSCharacterSet * sepratorSet = [NSCharacterSet characterSetWithCharactersInString:sepratorString]; //根据标点符号拆分成数组 NSMutableArray * splitStr = [textView.text componentsSeparatedByCharactersInSet:sepratorSet]; NSLog(@"splitStr拆分以后 === %@",splitStr); //去掉拆分以后的数组中出现的""元素,不知道怎么出现的""元素。 NSArray *array = [NSArray arrayWithArray:splitStr]; for (NSString *item in array) { if ([@"" isEqualToString: item]) { [splitStr removeObject:item]; } } NSLog(@"splitStr === %@",splitStr); _wordCount = (int)splitStr.count;//单词总数 //得分 _wisdomLearnScore = 100 - _selectRangeDic.count * 100/_wordCount; NSLog(@"智慧化学习得分为:%ld",(long)_wisdomLearnScore); UITableViewCell *cell = (UITableViewCell *)[_repeatView.repeatTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:sen_num]]; if (_selectRangeDic.count > 0) {//如果取词数组有数据,则显示提交按钮 //显示提交按钮 for (UIButton *submitBtn in [cell.contentView subviews]) { if (submitBtn.tag == 5) { submitBtn.hidden = NO; } } }else{ //隐藏提交按钮 for (UIButton *submitBtn in [cell.contentView subviews]) { if (submitBtn.tag == 5) { submitBtn.hidden = YES; } } } _userAnswerStr = @""; //取词拼接成字符串 for (NSString *wordKey in [_selectRangeDic allKeys]) { NSString *wordValue = [_selectRangeDic objectForKey:wordKey]; _userAnswerStr = [NSString stringWithFormat:@"%@ %@",_userAnswerStr,wordValue]; } NSLog(@"%@",_userAnswerStr); for (UILabel *nLabel in [cell.contentView subviews]) { if (nLabel.tag == 4){//请在句中点击未听懂的单词/展开时的中文 nLabel.text = _userAnswerStr; [nLabel setTextColor:[UIColor redColor]]; } } }" class="topic-tag topic-tag-link"> fanjiduo/-Pick-word-Change-color