MIT Graph实践概述
Features功能
• iCloud Support
• Multi Local & Cloud Graphs
• Thread Safe
• Store Any Data Type, Including Binary Data
• Relationship Modeling
• Action Modeling For Analytics
• Model With Graph Theory and Set Theory
• Asynchronous / Synchronous Search
• Asynchronous / Synchronous Saving
• Data-Driven Architecture
• Data Model Observation
• Comprehensive Unit Test Coverage
• Example Projects
Requirements
• iOS 8.0+ / Mac OS X 10.10+
• Xcode 8.0+
Communication
如果需要帮助,请使用堆栈溢出。(标签“cosmicmind”)
如果想问一个一般性问题,使用堆栈溢出。
如果发现了一个bug,并且能够提供可靠地复制它的步骤,那么就说出一个问题。
如果有功能请求,说出问题。
如果想投稿,提交一个请求。
Installation安装
Embedded frameworks require a minimum deployment target of iOS 8.
https://github.com/CosmicMind/Graph
CocoaPods
CocoaPods是Cocoa项目的依赖关系管理器。可以使用以下命令进行安装:
$ gem install cocoapods
要使用CocoaPods将Graph的核心功能集成到Xcode项目中,在Podfile中指定它:
source ‘https://github.com/CocoaPods/Specs.git’
platform :ios, ‘8.0’
use_frameworks!

pod ‘Graph’, ‘~> 3.1.0’
然后,运行以下命令:
$ pod install
Carthage
Carthage是一个分散的依赖关系管理器,构建依赖关系并提供二进制框架。 可以使用以下命令自制软件安装基:
$ brew update
$ brew install carthage
要使用Carthage将Graph集成到Xcode项目中,请在Cartfile中指定:
github “CosmicMind/Graph”
运行carthage update来构建框架并拖动构建的图形框架你的Xcode项目。 变更日志
Graph是一个不断发展的项目,在整个开发过程中都会遇到变化。建议在更新版本之前查看变更日志。
样品
下面是一些示例,以了解如何在应用程序中使用Graph。
访问示例repo以查看使用图形的示例项目。
为图像卡创建实体
实体是一个模型(数据)对象,它代表一个人、一个位置或一件事。它可以存储属性值,组的成员,并且可以被标记。
在下面的示例中,使用Material创建一个ImageCard视图,并用一个实体填充它的属性,该实体存储该视图的数据。
Creating data
let graph = Graph()

let entity = Entity(type: “ImageCard”)
entity[“title”] = “Graph”
entity[“detail”] = “Build Data-Driven Software”
entity[“content”] = “Graph is a semantic database that is used to create data-driven applications.”
entity[“author”] = “CosmicMind”
entity[“image”] = UIImage.load(contentsOfFile: “frontier”, ofType: “jpg”)

graph.sync()
Setting the view’s properties
imageCard.toolbar?.title = entity[“title”] as? String
imageCard.toolbar?.detail = entity[“detail”] as? String
imageCard.imageView?.image = entity[“image”] as? UIImage

let contentLabel = UILabel()
contentLabel.text = entity[“content”] as? String
imageCard.contentView = contentLabel

let authorLabel = UILabel()
authorLabel.text = entity[“author”] as? String
imageCard.bottomBar?.centerViews = [authorLabel]
• Download the complete ImageCard example.
• Learn more about Material’s ImageCard.
实时搜索用户列表
使用搜索API非常灵活。在下面的示例中,Search用于通过Material的SearchBar提供的动态UI创建对用户名的实时搜索。
Preparing the search criteria
let graph = Graph()

let search = Search(graph: graph).for(types: “User”).where(properties: “name”)
Asynchronously searching graph
search.async { [weak self, pattern = pattern] (users) in

guard let regex = try? NSRegularExpression(pattern: pattern, options: []) else {return
}var data = [Entity]()for user in users {if let name = user["name"] as? String {let matches = regex.matches(in: name, range: NSRange(location: 0, length: name.utf16.count))if 0 < matches.count {data.append(user)}}
}self?.tableView.data = data

}
• Download the complete Search example.
• Learn more about Material’s SearchBar.

MIT Graph实践概述相关推荐

  1. 《编译与反编译技术实战》——第2章编译器实践概述

    本节书摘来自华章社区<编译与反编译技术实战>一书中的第2章编译器实践概述,作者刘晓楠 陶红伟 岳 峰 戴超,更多章节内容可以访问云栖社区"华章社区"公众号查看 第2章 ...

  2. Microsoft Graph Overview 概述

    Microsoft Graph KEY Points 重点 概述 Microsoft Graph Overview 概述 中文版 Microsoft Graph Overview 概述 英文版 MS ...

  3. ASP.NET MVC5 网站开发实践 - 概述

    前段时间一直在用MVC4写个网站开发的demo,由于刚开始学所有的代码都写在一个项目中,越写越混乱,到后来有些代码自己都理不清了.1月26日晚上在群里跟@怒放 他们讨论这个问题,结论是即使只是一个小d ...

  4. 从 Neo4j 导入 Nebula Graph 实践见 SPark 数据导入原理

    本文主要讲述如何使用数据导入工具 Nebula Graph Exchange 将数据从 Neo4j 导入到 Nebula Graph Database.在讲述如何实操数据导入之前,我们先来了解下 Ne ...

  5. Java Optional的使用实践概述

    题记:不到最后时刻,千万别轻言放弃,无论结局成功与否,只要你拼博过,尽力过,一切问心无愧 Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具 ...

  6. Leangoo Talk第一期——Scrum与OKR融合实践

    主题:Scrum 和OKR融合实践 概述: 在Scrum敏捷环境下如何管理团队绩效.如何激励和驱动团队呢?本期活动将通过案例分享+开放空间的形式为您介绍Scrum和OKR结合使用的一些实践和案例.为您 ...

  7. SQL Server性能调优之执行计划深度剖析 第二节 执行计划第一次实践

    SQL Server性能调优之执行计划深度剖析 第二节 执行计划第一次实践 前言:自从上一篇文章发出之后,收到了很朋友的关注.很多朋友要求多多实践,而不是纯粹的理论.确实,从打算出这个系列开始,我就本 ...

  8. Apache Kafka-AckMode最佳实践

    文章目录 概述 AckMode源码解读 自动提交设置 手工提交设置 最佳实践 概述 Apache Kafka-消息丢失分析 及 ACK机制探究 我们这里配了个manual, 为啥子嘛 AckMode源 ...

  9. 副本放置策略Copysets论文解读及工程实践

    副本放置策略Copysets论文解读及工程实践 概述 CopySet论文解读 术语定义 Random Replication Copyset Replication Premutation Repli ...

最新文章

  1. python解多项式方程_python – SymPy不能求解四阶多项式方程
  2. ASP.NET Core 中的 startup类
  3. listbox wpf 取消边框_停止使用箭头C#WPF导航列表框(Stop listbox from navigating with arrows C# WPF)...
  4. 面试精讲之面试考点及大厂真题 - 分布式专栏 21 限流不能乱用-系统限流最佳实践
  5. java log4j 异步_Log4j2异步日志之异步格式化
  6. Cisco和H3C的两种不同动态×××解决方案
  7. Bailian3238 生日相同【稳定排序】
  8. java中之内存溢出说明
  9. 手把手教你写一个RPC
  10. 二叉树的层次遍历算法
  11. 国内手机市场遭遇寒风,智能手机企业激战千元机
  12. 类,多态,抽象类,接口
  13. 蓝牙室内定位,SOC芯片NRF52832
  14. linux编译安装openssl3.0.7
  15. offer选择:创业公司 VS 大厂外包
  16. 一个文本框可能存在哪些漏洞
  17. 推荐朋友发项目来开源众包吧,成交立享5%的成交额提成!助人为乐还赚钱
  18. matlab fft 幅度,相位
  19. 数据结构与算法基础(青岛大学-王卓)(2)
  20. 前端html纯静态网页汽车保养服务类资讯网站可用于商业开发及毕业设计素材含源码(div+css+jquery)

热门文章

  1. 不同编程语言之间的具体实现对比
  2. 初窥CSRF攻击方式以及Flask-WTF
  3. 安装win下的Anaconda ----针对python3.6.4版本
  4. 对字符数组输入输出数组名是否加取地址符的一些理解
  5. Spring单实例、多线程安全、事务解析
  6. Intel发布FPGA
  7. TVM vs TensorRT比较
  8. Mask R-CNN用于目标检测和分割代码实现
  9. 什么样的技术将在后大流行的世界里兴起
  10. 人体姿态和形状估计的视频推理:CVPR2020论文解析