最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

在Swift中使用JavaScript的方法和技巧详细介绍

来源:懂视网 责编:小采 时间:2020-11-27 20:24:06
文档

在Swift中使用JavaScript的方法和技巧详细介绍

在Swift中使用JavaScript的方法和技巧详细介绍:本文作者Nate Cook是一位独立的Web及移动应用开发者,是继Mattt大神之后NSHipster的主要维护者,也是非常知名活跃的Swift博主,并且还是支持自动生成Swift在线文档的SwiftDoc.org网站创造者。在本文中,他介绍了在Swift中使用JavaScript的方法
推荐度:
导读在Swift中使用JavaScript的方法和技巧详细介绍:本文作者Nate Cook是一位独立的Web及移动应用开发者,是继Mattt大神之后NSHipster的主要维护者,也是非常知名活跃的Swift博主,并且还是支持自动生成Swift在线文档的SwiftDoc.org网站创造者。在本文中,他介绍了在Swift中使用JavaScript的方法

//JSON
[
 { "first": "Grace", "last": "Hopper", "year": 1906 },
 { "first": "Ada", "last": "Lovelace", "year": 1815 },
 { "first": "Margaret", "last": "Hamilton", "year": 1936 }
]
//JavaScript
var loadPeopleFromJSON = function(jsonString) {
 var data = JSON.parse(jsonString);
 var people = [];
 for (i = 0; i < data.length; i++) {
 var person = Person.createWithFirstNameLastName(data[i].first, data[i].last);
 person.birthYear = data[i].year;
 people.push(person);
 }
 return people;
}
  • 动手一试

  • 现在你只需加载JSON数据,并在JSContext中调用,将其解析到Person对象数组中,再用Mustache模板渲染即可:

    //Objective-C
    // get JSON string
    NSString *peopleJSON = [NSString stringWithContentsOfFile:... encoding:NSUTF8StringEncoding error:nil];
    // get load function
    JSValue *load = context[@"loadPeopleFromJSON"];
    // call with JSON and convert to an NSArray
    JSValue *loadResult = [load callWithArguments:@[peopleJSON]];
    NSArray *people = [loadResult toArray];
    // get rendering function and create template
    JSValue *mustacheRender = context[@"Mustache"][@"render"];
    NSString *template = @"{{getFullName}}, born {{birthYear}}";
    // loop through people and render Person object as string
    for (Person *person in people) {
     NSLog(@"%@", [mustacheRender callWithArguments:@[template, person]]);
    }
    // Output:
    // Grace Hopper, born 1906
    // Ada Lovelace, born 1815
    // Margaret Hamilton, born 1936
    //Swift
    // get JSON string
    if let peopleJSON = NSString(contentsOfFile:..., encoding: NSUTF8StringEncoding, error: nil) {
     // get load function
     let load = context.objectForKeyedSubscript("loadPeopleFromJSON")
     // call with JSON and convert to an array of `Person`
     if let people = load.callWithArguments([peopleJSON]).toArray() as? [Person] {
    
     // get rendering function and create template
     let mustacheRender = context.objectForKeyedSubscript("Mustache").objectForKeyedSubscript("render")
     let template = "{{getFullName}}, born {{birthYear}}"
    
     // loop through people and render Person object as string
     for person in people {
     println(mustacheRender.callWithArguments([template, person]))
     }
     }
    }
    // Output:
    // Grace Hopper, born 1906
    // Ada Lovelace, born 1815
    // Margaret Hamilton, born 1936

    文档

    在Swift中使用JavaScript的方法和技巧详细介绍

    在Swift中使用JavaScript的方法和技巧详细介绍:本文作者Nate Cook是一位独立的Web及移动应用开发者,是继Mattt大神之后NSHipster的主要维护者,也是非常知名活跃的Swift博主,并且还是支持自动生成Swift在线文档的SwiftDoc.org网站创造者。在本文中,他介绍了在Swift中使用JavaScript的方法
    推荐度:
    标签: 的方法 js javascript
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top