首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Swift 4- NSGraphicsContext.setCurrent()没有成员“setCurrent”

Swift 4中的NSGraphicsContext.setCurrent()方法已被移除,因此不再有成员"setCurrent"。在Swift 4中,可以使用其他方法来设置当前的图形上下文。

在Swift中,可以使用以下方法来设置当前的图形上下文:

  1. 使用UIGraphicsGetCurrentContext()方法获取当前的图形上下文,例如:
代码语言:txt
复制
let currentContext = UIGraphicsGetCurrentContext()
  1. 使用CGContext.saveGState()方法保存当前的图形上下文状态,并使用CGContext.restoreGState()方法恢复之前保存的状态,例如:
代码语言:txt
复制
guard let currentContext = UIGraphicsGetCurrentContext() else { return }
currentContext.saveGState()
// 在这里进行绘图操作
currentContext.restoreGState()

这些方法可以在iOS和macOS平台上使用,用于绘制图形和处理图形上下文。

关于图形上下文的更多信息和用法,请参考腾讯云的相关文档和示例代码:

请注意,以上提供的链接是腾讯云的相关文档,仅供参考。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

设计之禅——状态模式

// 所需杀怪数量 private int count = 0; public void accept(int count) { // 注意这里不能直接将值赋给成员变量...但是,没有什么模式是完美的,使用状态模式的缺点我们很容易发现,原来一个类就能解决的,现在裂变为了四个类,系统结构复杂了很多,但这样的牺牲是非常有必要和值得的。...思考 刚刚我们已经实现了状态模式,但是还有个细节问题不知你注意到了没有?...."); c.setCurrent(new HasMonsterState(c)); c.attack(); } 在我的实现中,都是由状态来控制下一个状态是什么,...还需要注意的是我这里调用 c.setCurrent(new HasMonsterState©)时,状态是硬编码传入的,这样当系统进化时可能就需要更改此处的代码,如何解决这种情况呢?

29120

【面试必备】Swift 面试题及其答案

基本的数据类型如int 或者float没有这种功能。 Swift用optional扩展了在基本数据类型和引用类型中缺少值的概念。...在Swift 中,类和结构体有许多不同的特性。下面是两者不同的总结: 类支持继承,结构体不支持。 类是引用类型,结构体是值类型 并没有通用的规则决定结构体和类哪一个更好用。...问题4- Swift 1.0 or later 哪些情况下你不得不使用隐式拆包?说明原因。...问题4- Swift 1.0 or later 声明一个静态属性或者函数,我们常常使用值类型的static修饰符。...答案:使用下面的初始化方法: UInt(bitPattern: Int) 问题4- Swift 1.0 or later 描述一种在Swift中出现循环引用的情况,并说明怎么解决。

2.7K20

【面试必备】Swift 面试题及其答案

基本的数据类型如 int 或者 float 没有这种功能。 Swift 用 optional 扩展了在基本数据类型和引用类型中缺少值的概念。...在 Swift 中,类和结构体有许多不同的特性。下面是两者不同的总结: 类支持继承,结构体不支持。 类是引用类型,结构体是值类型 并没有通用的规则决定结构体和类哪一个更好用。...问题4- 哪些情况下你不得不使用隐式拆包?说明原因 ---- 答案:对 optional 变量使用隐式拆包最常见的原因如下: 1、对象属性在初始化的时候不能 nil,否则不能被初始化。...问题4- static 或者 class 修饰符 ---- 声明一个静态属性或者函数,我们常常使用值类型的 static 修饰符。...答案:使用下面的初始化方法: 问题4- 描述一种在Swift中出现循环引用的情况 ---- 描述一种在 Swift 中出现循环引用的情况,并说明怎么解决。

6K30

被侮辱、被无视,Swift 之父离开核心团队:纯属浪费时间

作者 | 褚杏娟 当地时间 2 月 21 日,Swift 项目核心团队成员 Ted Kremenek 表示,目前核心团队正在考虑重组项目的领导层,为社区成员积极参与项目管理提供更多途径。...据悉,Swift 核心团队是负责战略方向的工程师小组,现在共有七名成员,这些成员由苹果公司根据开发者的技术专长和对社区的贡献进行任命。...帖子回复如下: 无论如何,Ted 在这个帖子中的简单回复没有错,但我离开 Swift 核心团队和 Swift Evolution 社区决定的背后当然还有更多原因。...比如在这个帖子里的一些社区成员,他们显然不理解这个提案的真正动机,也没有人倾听他们的意见,所以才联系了我,因为他们认为我可以帮助他们。...“如果没有这种外展活动、没有花时间确保世界各地的人们都有资金真正学习 Python 和所有那些好东西,它不会成为今天的第一语言。”

36830

赛门铁克说木马Odinaff正在进攻SWIFT成员银行 该木马瞄准全球各大金融组织

据赛门铁克报告,已经有第二个黑客组织瞄准了SWIFT(环球同业银行金融电讯协会)成员银行。这个黑客组织被认为是Carbanak或与Carbanak有关,但据信与Lazarus组织没有任何直接关联。...赛门铁克说木马Odinaff主要针对SWIFT成员银行 这一发现来自于对正感染赛门铁克客户的新木马的分析。该木马被称为Trojan.Odinaff。...赛门铁克未说明是否在任何一个SWIFT银行中发现了Odinaff木马,但其分析表明这个木马已经被用于瞄准SWIFT成员银行。...没有明确的迹象表明,该警告和赛门铁克关于Odinaff的研究有关。...然而,路透社将这两者联系到了一起: “SWIFT发言人Natasha de Teran说,SWIFT的客户安全情报团队已经在今年夏天就Odinaff的活动向SWIFT成员发布警告。”

55360

iOS Swift基础语法(二)

2.1、整数 整数的定义为没有小数部分的数字,可以带有正负号,Swift提供了Int和UInt两种整数类型,分别表示有符号和无符号的整数类型。...//正确 if true { let num = 1 } //错误 if 1 { let num = 1 } 2.4、元组类型 元组是Swift中非常好用的一个数据类型,它可以把多个值成员复合成一个值...,并且这些成员的数据类型可以不同,把成员值放到一个括号中,以逗号分隔。...图2.4 我们可以自定义每个成员变量的名字,格式为(成员名称1:成员值1,成员名称2:成员值2,······),调用的时候可以使用名称调用: let message2 = (name:"小傅",age:...OC中没有可选型这种数据类型,可选型是Swift都有的。定义可选型只需在常规类型后面加一个问号?即可,例如: var age : Int?

1.1K30

Swift5.0的Runtime机制浅析

每个Swift类对象实例的内存布局中的第一个数据成员和OC对象相似,保存有一个类似isa的数据成员。isa中保存着Swift类的描述信息。...对于Swift来说,对成员变量的访问得到更加的简化。系统会对每个成员变量生成get/set两个函数来实现成员变量的访问。...所有对对象成员变量的方法的代码都会转化为通过虚函数表来执行get/set相对应的方法。 下面是Swift类中成员变量的实现和内存结构布局图: ?...对象内存布局 结构体中的方法 在Swift结构体中也可以定义方法,因为结构体的内存结构中并没有地方保存结构体的信息(不存在isa数据成员),因此结构体中的方法是不支持多态的,同时结构体中的所有方法调用都是在编译时硬编码来实现的...struct swift_class { ... //其他的属性,因为这里不关心就不列出了 //这里也没有虚表的信息。

2.2K21

iOS 面试策略之算法基础1-3节

例:1->5->3->2->4->2,给定x = 3。...例:1->5->3->2->4->2,给定x = 3。则我们要返回 1->2->2 我们只要采用尾插法,遍历链表,将小于 x 值的节点接入新的链表即可。...例:1->2->3->4->5,n = 2。返回1->2->3->5。 注意:给定 n 的长度小于等于链表的长度。 解题思路依然是快行指针,这次两个指针移动速度相同。...在 Swift 中,没有内设的栈和队列,很多扩展库中使用 Generic Type 来实现栈或是队列。正规的做法使用链表来实现,这样可以保证加入和删除的时间复杂度是 O(1)。...然而笔者觉得最实用的实现方法是使用数组,因为 Swift 没有现成的链表,而数组又有很多的 API 可以直接使用,非常方便。 基本概念 对于栈来说,我们需要了解以下几点: 栈是后进先出的结构。

1.6K30

Microsoftthrifty vs facebookswift: TTransportException:Buffer doesnt

成员变量strictWrite_为false时,最先写入的是消息名(字符串),这种情况下,接收端收到报文解析肯定会抛出异常的。...的实现逻辑是一样的,也有一个成员变量strictWrite来控制报文头的格式。...和thrifty对报文格式的控制逻辑是一样的,那么问题就出在这个控制报文头的格式的成员变量strictWrite上了。...进一步的分析,可以发现com.microsoft.thrifty.protocol.BinaryProtocol的strictWrite恒为false,而且没有提供外部修改其值的方法,而org.apache.thrift.protocol.TBinaryProtocol...但是com.microsoft.thrifty.protocol.BinaryProtocol没有为修改私有成员变量strictWrite提供方法,所以我只能使用java反射(reflection)机制强制修改成员变量

55310

iOS-Swift 结构体与类

如上代码,可以传入所有成员值,用以初始化所有成员(存储属性,Stored Property)。 1. 结构体的初始化器 编译器根据情况,可能会为结构体生成多个初始化器。...,所以当我们对结构体的某个成员变量设置初始值时,生成的初始化器可以不用传该成员变量的参数赋值。...二、类 类的定义和结构体类似,但编译器并没有为类自动生成可以传入成员值的初始化器。 1. 类的初始化器 指定初始化器 当类的成员没有初始值时,必须自定义初始化器,初始化成员值。...,编译器会为类生成无参的初始化器,成员的初始化是在这个初始化器中完成的。...print("p2 - \(p2)") 打印结果: p1 - SHPoint(x: 4, y: 8) p2 - SHPoint(x: 6, y: 8) 我们可以看到在修改 p2 的 x 后,对 p1 并没有影响

1.3K10

Swift 结构体构造器

Swift 中的结构体和类跟其它面向对象语言一样都有构造函数, 而OC是没有Swift 要求实例化一个结构体或类的时候, 所有的成员变量都必须有初始值 构造函数的意义就是用于初始化所有成员变量的,...如果结构体中的所有属性都有默认值, 可以调用 ()构造一个结构体实例如果结构体中的属性没有默认值, 可以自定义构造器, 并在构造器中给所有的属性赋值 在Swift中,定义为结构体的类型会自动获得由编译器生成的默认初始化程序...——所谓的“成员构造器”,因为编译器将根据给定结构体的成员(即其存储的属性)生成该初始化程序。...String var age: Int var isAdult: Bool { age >= 18 } } let user = User(name: "韦弦", age: 9) 从 Swift...,和上面没有差异,但是如果私有属性没有默认值,则必须手动编写该类型的构造器——以便能够从外部传入值为该属性赋值: struct User { var name: String private

68120

开心档之Swift 访问控制

下面的例子定义了一个名为someFunction全局函数,并且没有明确地申明其访问级别。...---- 枚举类型访问权限 枚举中成员的访问级别继承自该枚举,你不能为枚举中的成员单独申明不同的访问级别。...扩展成员应该具有和原始类成员一致的访问级别。比如你扩展了一个公共类型,那么你新加的成员应该具有和原始成员一样的默认的internal访问级别。...或者,你可以明确申明扩展的访问级别(比如使用private extension)给该扩展内所有成员申明一个新的默认访问级别。这个新的默认访问级别仍然可以被单独成员所申明的访问级别所覆盖。...", "泛型", "Where 语句"] print(eos) 以上程序执行输出结果为: ["Swift"] ["Swift", "泛型"] ["Swift", "泛型", "Where 语句"] ["

86310

15.Swift学习之枚举

,而Swift 中的枚举更加灵活,不必给每一个枚举成员提供一个值,Swift 中的枚举可以提供的值类型有:字符串,字符,整型值,浮点值等 Swift 中的枚举可以包含方法 枚举类型的语法 使用enum...case Method.Div: print("乘法") default: print("都不是") } 枚举的定义 定义方式一 case关键词表明新的一行成员值将被定义...不像 C 和 Objective-C 一样,Swift 的枚举成员在被创建时不会被赋予一个默认的整数值 下面的例子中,North,South,East和West不是隐式的等于0,1,2和3 enum...CompassPoint { case North case South case East case West } 定义方式二:多个成员值可以出现在同一行上 enum Planet...中的枚举默认是没有原始值的, 但是可以在定义时告诉系统让枚举有原始值 注意: 原始值区分大小写 返回的是一个可选值,因为原始值对应的枚举值不一定存在 如果想指定原始值之后,后面的元素值默认+1 , 枚举一定是

53230
领券