摘要(Abstract)

Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C*共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序。 Swift是一款易学易用的编程语言,而且它还是第一套具有与脚本语言同样的表现力和趣味性的系统编程语言。Swift的设计以安全为出发点,以避免各种常见的编程错误类别。Swift 是一种新的编程语言,用于编写 iOS 和 macOS 应用。Swift 结合了 C 和 Objective-C 的优点并且不受C兼容性的限制。Swift 采用安全的编程模式并添加了很多新特性,这将使编程更简单,更灵活,也更有趣。Swift 是基于成熟而且倍受喜爱的 Cocoa 和 Cocoa Touch 框架,他的降临将重新定义软件开发。 Objective-C 本身支持块、集合语法和模块,所以框架可以轻松支持现代编程语言技术。正是得益于这些基础工作,我们现在才能发布这样一个用于未来苹果软件开发的新语言。 Objective-C 开发者对 Swift 并不会感到陌生。它采用了 Objective-C 的命名参数以及动态对象模型,可以无缝对接到现有的 Cocoa 框架,并且可以兼容 Objective-C 代码。在此基础之上,Swift 还有许多新特性并且支持过程式编程和面向对象编程。Objective-C,通常写作ObjC或OC和较少用的Objective C或Obj-C,是扩充C的面向对象编程语言。它主要使用于Mac OS X和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。 GCC与Clang含Objective-C的编译器,Objective-C可以在GCC以及Clang运作的系统上编译。 1980年代初布莱德·考克斯(Brad Cox)在其公司Stepstone发明Objective-C。他对软件设计和编程里的真实可用度问题十分关心。Objective-C最主要的描述是他1986年出版的书 Object Oriented Programming: An Evolutionary Approach. Addison Wesley. ISBN 0-201-54834-8.

主题(Topic)



项目(Project)

JonyFang/FFSafeKit tanhaogg/SafeContainer SafeObject TheAngryDarling/SwiftClassCollections asunquan/ASAntiCrash fangjinfeng/FJ_Safe baishiyun/BSYCategory 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