jjzjj

swift - 在 Swift 1.1 的 NSURL 上实现 StringLiteralConvertible

coder 2023-09-09 原文

Here是关于同一主题的较旧问题,但它适用于 Swfit 1.0。在 Swift 1.1 中,StringLiteralConvertible 协议(protocol)已更改为使用初始化器而不是类方法。此外,[NSURL init(string: String)] 成为可失败的初始化器。

这是我试过的,但它不能在 Xcode 6.1 中编译。

extension NSURL: StringLiteralConvertible {
  convenience public init?(stringLiteral value: String) {
    self.init(string: value)
  }

  convenience public init?(extendedGraphemeClusterLiteral value: String) {
    self.init(string: value)
  }

  convenience public init?(unicodeScalarLiteral value: String) {
    self.init(string: value)
  }
}

最佳答案

协议(protocol)“StringLiteralConvertible”要求的初始化器不返回可选值,所以放一个 ?在 init 之后无济于事(即使 XCode 本身建议这样做)。但是 NSURL 的所有初始化器都会返回可选值,因为这些参数可能不会生成有效的 URL。并且您必须在所有自定义 NSURL 初始值设定项中调用 super.init 初始值设定项之一。因此不再可能让 NSURL 实现“StringLiteralConvertible”。

关于swift - 在 Swift 1.1 的 NSURL 上实现 StringLiteralConvertible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27071880/

有关swift - 在 Swift 1.1 的 NSURL 上实现 StringLiteralConvertible的更多相关文章

  1. ruby-on-rails - 有没有办法在 Rails 控制台内的输出上实现类似 grep 的功能 - 2

    在shell中,我可以做到$catname_of_file_with_a_lot_of_text|grep"WhatIamlookingfor"在Rails控制台中,我能否实现类似的功能,比如当我运行一个命令并且输出很大时,尤其是数据库查询。我知道将其输出为YAML,但这不是我要找的。谢谢。 最佳答案 是的,你可以。该方法称为gr...等待它...ep。Ruby的grep适用于String、Array和许多其他内置对象。例如,要获取一个数字的所有to_xxx方法,只需执行以下操作:1.methods.grep(/to_/)

  2. 如何在自定义屏幕上实现自动生成文档编号 - 2

    我需要创建诸如屏幕之类的机会,我不知道如何实现新创建文档的文档编号的自动我期待有人在这个问题上为我提供帮助。我使用的以下步骤,并附上了供审核的代码。我在保存时会遇到错误,并且不生成数字我在文档中为备忘录创建了一个编号序列我为序列编号设置创建了一个DAC区域回忆录publicabstractclassmemoInOrderId:PX.Data.IBqlField{}protectedstring_MemoInOrderId;[PXDBString(10,IsUnicode=true)][PXDefault("MEMOIN")][PXSelector(typeof(Numbering.number

  3. javascript - 如何在 JQuery UI Selectable 上实现切换功能? - 2

    我正在使用JQueryUI-Selectable.如果元素已被按下并且它已被选中(切换),我想取消选择该元素你能帮我添加这个功能吗! 最佳答案 因为所有的类回调,你不会做得比这更好:$(function(){$("#selectable").selectable({selected:function(event,ui){if($(ui.selected).hasClass('click-selected')){$(ui.selected).removeClass('ui-selectedclick-selected');}else{

  4. javascript - 在 Web 上实现 Stripe : Uncaught ReferenceError: StripeCheckout is not defined - 2

    我正在尝试在我的网络应用程序中实现Stripe支付。但是,在使用示例代码时出现以下javascript错误:UncaughtReferenceError:StripeCheckoutisnotdefined代码是这样的:Stripe.setPublishableKey('pk_test_HnjFihOWwYTWnnsTLnZTmbgv');varhandler=StripeCheckout.configure({key:'pk_test_HnjFihOWwYTWnnsTLnZTmbgv',image:'/img/documentation/checkout/marketplace.pn

  5. javascript - 如何在node.js上实现jQuery直接上传到Cloudinary - 2

    我正在尝试通过他们的jQuery插件直接上传到Cloudinary到Node.js应用程序,我想知道是否有人可以帮助我弥补他们示例中的一些差距。这是解释如何操作的博文:http://cloudinary.com/blog/direct_image_uploads_from_the_browser_to_the_cloud_with_jquery在“其他开发框架和高级用法”部分,我坚持的部分是:“将data-form-data设置为上传API参数的JSON表示。必填字段是api_key、时间戳、签名和回调。”,更具体地说:“需要在服务器端生成签名以进行正确的身份验证。”似乎没有任何示例说

  6. javascript - 在 Web 浏览器上实时接收 Kafka 事件 - 2

    我们使用Kafka集群实时发送/接收消息。我们能够成功地向Kafka主题发布消息。现在我们希望在使用JavaScript的Web浏览器上运行的单页应用程序(SPA)上实时接收这些消息。是否可以直接从Kafka将消息推送到在任何著名浏览器上运行的最新版本的SPA?我找到了使用NodeJS实时接收消息的示例,但没有找到在Web浏览器上运行JavaScript的示例。 最佳答案 Kafka有Javascript客户端,但鉴于您的用例描述,我建议您在浏览器端javascript和Kafka之间使用REST或WebSocket代理。这将确保消

  7. swift - 将 json 编码时间转换为 nsdate - 2

    当我将time.Now()编码到JSON对象时,它给出的结果为"2009-11-10T23:00:00Z"但打印时间。现在给出2009-11-1023:00:00+0000UTC。他们为什么不同。什么是T和Z。另外,如何根据this将其转换为swiftNSDate对象?表? 最佳答案 这些值的含义无关紧要,它们是该格式(ISO8601)的一部分。有几种方法可以解决这个问题。一种是为时间或您的结构定义自定义MarshalJSON()方法并使用它来格式化日期,另一种是首先在您的结构中将其表示为字符串,以便当默认实现执行你得到你正在寻找的

  8. go - 为什么 golang 在 slice 和 map 之间的 `[]` 运算符上实现不同的行为? - 2

    这个问题在这里已经有了答案:Whyaremapvaluesnotaddressable?(2个答案)关闭4年前。typeSstruct{eint}funcmain(){a:=[]S{{1}}a[0].e=2b:=map[int]S{0:{1}}b[0].e=2//error}a[0]是可寻址的,但b[0]不是。我知道第一个0是一个索引,第二个0是一个键。为什么golang会这样实现?有什么进一步的考虑吗?我已经阅读了github.com/golang/go/src/runtime中map的源代码如果maxKeySize和maxValueSize足够小,并且映射结构已经支持indirec

  9. objective-c - 为什么 Swift 函数定义语法是多余的? - 2

    在C/C++/Java/Go中,我们使用,来分隔参数:(aint,bint)在ObjectiveC中,我们使用:来表示参数::(int)a:(int)b在Swift中,我们必须同时使用:和,:(a:int,b:int)是否需要冗余? 最佳答案 Swift可能有外部和内部参数名称:(externalinternal:Int)如果没有独特的分隔符,会产生很多歧义。 关于objective-c-为什么Swift函数定义语法是多余的?,我们在StackOverflow上找到一个类似的问题:

  10. swift - Swift 和 Go 之间的 Zlib 压缩 - 2

    我的Swift应用程序与用Go编写的服务器通信。我希望使用Zlib压缩传输的数据,但压缩结果似乎与Swift和Go不同。这是Go版本:sourceString:="A-t-ellebesoind'autrespreuves?Acceptez-lapourleplaisir.J'aitantfaitquedelacueillir,Etc'estpresqueunefleur-des-veuves."//Compressionvarbbytes.Bufferwriter:=zlib.NewWriter(&b)writer.Write([]byte(sourceString))writer.

随机推荐