Error[8]: Undefined offset: 10, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述到目前为止,我只能使用全局函数实现这一目标.我不确定是否可能,但我希望写一个泛型类的扩展,希望能实现同样的目的. 下面是使用ReactiveCocoa的SignalProducer类的工作全局函数,但对于任何泛型类,原则应该相同. func ignoreNilValues <Value,Error> (producer: SignalProducer<Value?,Error>) -> Signa 到目前为止,我只能使用全局函数实现这一目标.我不确定是否可能,但我希望写一个泛型类的扩展,希望能实现同样的目的.

下面是使用ReactiveCocoa的SignalProducer类的工作全局函数,但对于任何泛型类,原则应该相同.

func ignoreNilValues <Value,Error> (producer: SignalProducer<Value?,Error>) -> SignalProducer<Value,Error> {   return producer.filter { return 
class Genericclass<SomeType> {    var someProperty: [SomeType] = []}
!= nil }.map {
protocol Anoptional {    var isNil: Bool {get}}extension Optional : Anoptional {    var isNil: Bool {        get {            guard let hasValue = self.map({ (value: Wrapped) -> Bool in                return true            }) else {                return true            }            return !hasValue        }    }}extension Genericclass where SomeType : Anoptional {    func filterNilValuesOfSomeproperty() -> [SomeType] {        return someProperty.filter({ (anoptional: Anoptional) -> Bool in            return !anoptional.isNil        })    }}
! }}

更新:

我已经取得了进展,但仍然没有完全解决方案

给定具有一些通用属性的类

let aClass = Genericclass<Int?>()aClass.someProperty = [3,5,6,nil,4,3,nil]let x = aClass.someProperty //x = [Some(3),Some(5),Some(6),Some(4),Some(3),nil]let y = aClass.filterNilValuesOfSomeproperty()//y = [Some(3),Some(6)]

如何编写一个扩展来过滤任何可选值并使用Wrapped类型返回值?

以下将过滤任何nil值,但仍将其作为Optional类型返回.

func ignoreNilValues <Value> (aClass: Genericclass<Value?>) -> Genericclass<Value> {    let aNewClass = Genericclass<Value>()    aNewClass.someProperty = aClass.someProperty.filter({ (v: Value?) -> Bool in        v != nil    }).map { (oldValue: Value?) -> Value in        return oldValue!    }    return aNewClass}let z = ignoreNilValues(aClass).someProperty//z = [3,6]

可以看出

protocol OptionalType {      typealias Wrapped     func intoOptional() -> Wrapped?  }  extension Optional : OptionalType {      func intoOptional() -> Wrapped? {          return self     }  }

是否可以编写一个返回包装类型的类扩展?在上面的例子中,它将是[Int]而不是[Int?].

我重写了这个例子的全局函数解决方案.

class Genericclass<SomeType> {    var someProperty: [SomeType] = []}extension Genericclass where SomeType : OptionalType {    func filterNilValuesOfSomeproperty() -> [SomeType.Wrapped] {        return someProperty.flatMap { 
extension SequenceType {    /// Return an `Array` containing the non-nil results of mapPing    /// `transform` over `self`.    ///    /// - Complexity: O(*M* + *N*),where *M* is the length of `self`    ///   and *N* is the length of the result.    @warn_unused_result    public func flatMap<T>(@noescape transform: (Self.Generator.Element) throws -> T?) rethrows -> [T]}
.intoOptional() } }}
“技巧”是定义所有选项符合的协议
(这是从 Creating an extension to filter nils from an Array in Swift开始
略微简化;这个想法可以追溯到 this Apple Forum Thread):
let aClass = Genericclass<Int?>()aClass.someProperty = [3,nil]let x = aClass.someProperty print(x) // [Optional(3),Optional(5),Optional(6),Optional(4),Optional(3),nil]let y = aClass.filterNilValuesOfSomeproperty()print(y) // [3,6]

你可以在你的情况下使用它:

protocol OptionalType {    associatedtype Wrapped    func intoOptional() -> Wrapped?}

它使用SequenceType中的flatMap()方法:

[+++]

例:

[+++]

在Swift 3及更高版本中,协议必须定义为

[+++] 总结

以上是内存溢出为你收集整理的我如何编写一个函数,它将在swift中解包泛型属性,假设它是一个可选类型?全部内容,希望文章能够帮你解决我如何编写一个函数,它将在swift中解包泛型属性,假设它是一个可选类型?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 11, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述到目前为止,我只能使用全局函数实现这一目标.我不确定是否可能,但我希望写一个泛型类的扩展,希望能实现同样的目的. 下面是使用ReactiveCocoa的SignalProducer类的工作全局函数,但对于任何泛型类,原则应该相同. func ignoreNilValues <Value,Error> (producer: SignalProducer<Value?,Error>) -> Signa 到目前为止,我只能使用全局函数实现这一目标.我不确定是否可能,但我希望写一个泛型类的扩展,希望能实现同样的目的.

下面是使用ReactiveCocoa的SignalProducer类的工作全局函数,但对于任何泛型类,原则应该相同.

func ignoreNilValues <Value,Error> (producer: SignalProducer<Value?,Error>) -> SignalProducer<Value,Error> {   return producer.filter { return 
class Genericclass<SomeType> {    var someProperty: [SomeType] = []}
!= nil }.map {
protocol Anoptional {    var isNil: Bool {get}}extension Optional : Anoptional {    var isNil: Bool {        get {            guard let hasValue = self.map({ (value: Wrapped) -> Bool in                return true            }) else {                return true            }            return !hasValue        }    }}extension Genericclass where SomeType : Anoptional {    func filterNilValuesOfSomeproperty() -> [SomeType] {        return someProperty.filter({ (anoptional: Anoptional) -> Bool in            return !anoptional.isNil        })    }}
! }}

更新:

我已经取得了进展,但仍然没有完全解决方案

给定具有一些通用属性的类

let aClass = Genericclass<Int?>()aClass.someProperty = [3,5,6,nil,4,3,nil]let x = aClass.someProperty //x = [Some(3),Some(5),Some(6),Some(4),Some(3),nil]let y = aClass.filterNilValuesOfSomeproperty()//y = [Some(3),Some(6)]

如何编写一个扩展来过滤任何可选值并使用Wrapped类型返回值?

以下将过滤任何nil值,但仍将其作为Optional类型返回.

func ignoreNilValues <Value> (aClass: Genericclass<Value?>) -> Genericclass<Value> {    let aNewClass = Genericclass<Value>()    aNewClass.someProperty = aClass.someProperty.filter({ (v: Value?) -> Bool in        v != nil    }).map { (oldValue: Value?) -> Value in        return oldValue!    }    return aNewClass}let z = ignoreNilValues(aClass).someProperty//z = [3,6]

可以看出

protocol OptionalType {      typealias Wrapped     func intoOptional() -> Wrapped?  }  extension Optional : OptionalType {      func intoOptional() -> Wrapped? {          return self     }  }

是否可以编写一个返回包装类型的类扩展?在上面的例子中,它将是[Int]而不是[Int?].

我重写了这个例子的全局函数解决方案.

class Genericclass<SomeType> {    var someProperty: [SomeType] = []}extension Genericclass where SomeType : OptionalType {    func filterNilValuesOfSomeproperty() -> [SomeType.Wrapped] {        return someProperty.flatMap { 
extension SequenceType {    /// Return an `Array` containing the non-nil results of mapPing    /// `transform` over `self`.    ///    /// - Complexity: O(*M* + *N*),where *M* is the length of `self`    ///   and *N* is the length of the result.    @warn_unused_result    public func flatMap<T>(@noescape transform: (Self.Generator.Element) throws -> T?) rethrows -> [T]}
.intoOptional() } }}
“技巧”是定义所有选项符合的协议
(这是从 Creating an extension to filter nils from an Array in Swift开始
略微简化;这个想法可以追溯到 this Apple Forum Thread):
let aClass = Genericclass<Int?>()aClass.someProperty = [3,nil]let x = aClass.someProperty print(x) // [Optional(3),Optional(5),Optional(6),Optional(4),Optional(3),nil]let y = aClass.filterNilValuesOfSomeproperty()print(y) // [3,6]

你可以在你的情况下使用它:

protocol OptionalType {    associatedtype Wrapped    func intoOptional() -> Wrapped?}

它使用SequenceType中的flatMap()方法:

例:

[+++]

在Swift 3及更高版本中,协议必须定义为

[+++] 总结

以上是内存溢出为你收集整理的我如何编写一个函数,它将在swift中解包泛型属性,假设它是一个可选类型?全部内容,希望文章能够帮你解决我如何编写一个函数,它将在swift中解包泛型属性,假设它是一个可选类型?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[8]: Undefined offset: 12, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述到目前为止,我只能使用全局函数实现这一目标.我不确定是否可能,但我希望写一个泛型类的扩展,希望能实现同样的目的. 下面是使用ReactiveCocoa的SignalProducer类的工作全局函数,但对于任何泛型类,原则应该相同. func ignoreNilValues <Value,Error> (producer: SignalProducer<Value?,Error>) -> Signa 到目前为止,我只能使用全局函数实现这一目标.我不确定是否可能,但我希望写一个泛型类的扩展,希望能实现同样的目的.

下面是使用ReactiveCocoa的SignalProducer类的工作全局函数,但对于任何泛型类,原则应该相同.

func ignoreNilValues <Value,Error> (producer: SignalProducer<Value?,Error>) -> SignalProducer<Value,Error> {   return producer.filter { return 
class Genericclass<SomeType> {    var someProperty: [SomeType] = []}
!= nil }.map {
protocol Anoptional {    var isNil: Bool {get}}extension Optional : Anoptional {    var isNil: Bool {        get {            guard let hasValue = self.map({ (value: Wrapped) -> Bool in                return true            }) else {                return true            }            return !hasValue        }    }}extension Genericclass where SomeType : Anoptional {    func filterNilValuesOfSomeproperty() -> [SomeType] {        return someProperty.filter({ (anoptional: Anoptional) -> Bool in            return !anoptional.isNil        })    }}
! }}

更新:

我已经取得了进展,但仍然没有完全解决方案

给定具有一些通用属性的类

let aClass = Genericclass<Int?>()aClass.someProperty = [3,5,6,nil,4,3,nil]let x = aClass.someProperty //x = [Some(3),Some(5),Some(6),Some(4),Some(3),nil]let y = aClass.filterNilValuesOfSomeproperty()//y = [Some(3),Some(6)]

如何编写一个扩展来过滤任何可选值并使用Wrapped类型返回值?

以下将过滤任何nil值,但仍将其作为Optional类型返回.

func ignoreNilValues <Value> (aClass: Genericclass<Value?>) -> Genericclass<Value> {    let aNewClass = Genericclass<Value>()    aNewClass.someProperty = aClass.someProperty.filter({ (v: Value?) -> Bool in        v != nil    }).map { (oldValue: Value?) -> Value in        return oldValue!    }    return aNewClass}let z = ignoreNilValues(aClass).someProperty//z = [3,6]

可以看出

protocol OptionalType {      typealias Wrapped     func intoOptional() -> Wrapped?  }  extension Optional : OptionalType {      func intoOptional() -> Wrapped? {          return self     }  }

是否可以编写一个返回包装类型的类扩展?在上面的例子中,它将是[Int]而不是[Int?].

我重写了这个例子的全局函数解决方案.

class Genericclass<SomeType> {    var someProperty: [SomeType] = []}extension Genericclass where SomeType : OptionalType {    func filterNilValuesOfSomeproperty() -> [SomeType.Wrapped] {        return someProperty.flatMap { 
extension SequenceType {    /// Return an `Array` containing the non-nil results of mapPing    /// `transform` over `self`.    ///    /// - Complexity: O(*M* + *N*),where *M* is the length of `self`    ///   and *N* is the length of the result.    @warn_unused_result    public func flatMap<T>(@noescape transform: (Self.Generator.Element) throws -> T?) rethrows -> [T]}
.intoOptional() } }}
“技巧”是定义所有选项符合的协议
(这是从 Creating an extension to filter nils from an Array in Swift开始
略微简化;这个想法可以追溯到 this Apple Forum Thread):
let aClass = Genericclass<Int?>()aClass.someProperty = [3,nil]let x = aClass.someProperty print(x) // [Optional(3),Optional(5),Optional(6),Optional(4),Optional(3),nil]let y = aClass.filterNilValuesOfSomeproperty()print(y) // [3,6]

你可以在你的情况下使用它:

protocol OptionalType {    associatedtype Wrapped    func intoOptional() -> Wrapped?}

它使用SequenceType中的flatMap()方法:

例:

在Swift 3及更高版本中,协议必须定义为

[+++] 总结

以上是内存溢出为你收集整理的我如何编写一个函数,它将在swift中解包泛型属性,假设它是一个可选类型?全部内容,希望文章能够帮你解决我如何编写一个函数,它将在swift中解包泛型属性,假设它是一个可选类型?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
我如何编写一个函数,它将在swift中解包泛型属性,假设它是一个可选类型?_app_内存溢出

我如何编写一个函数,它将在swift中解包泛型属性,假设它是一个可选类型?

我如何编写一个函数,它将在swift中解包泛型属性,假设它是一个可选类型?,第1张

概述到目前为止,我只能使用全局函数实现这一目标.我不确定是否可能,但我希望写一个泛型类的扩展,希望能实现同样的目的. 下面是使用ReactiveCocoa的SignalProducer类的工作全局函数,但对于任何泛型类,原则应该相同. func ignoreNilValues <Value,Error> (producer: SignalProducer<Value?,Error>) -> Signa 到目前为止,我只能使用全局函数实现这一目标.我不确定是否可能,但我希望写一个泛型类的扩展,希望能实现同样的目的.

下面是使用ReactiveCocoa的SignalProducer类的工作全局函数,但对于任何泛型类,原则应该相同.

func ignoreNilValues <Value,Error> (producer: SignalProducer<Value?,Error>) -> SignalProducer<Value,Error> {   return producer.filter { return 
class Genericclass<SomeType> {    var someProperty: [SomeType] = []}
!= nil }.map {
protocol Anoptional {    var isNil: Bool {get}}extension Optional : Anoptional {    var isNil: Bool {        get {            guard let hasValue = self.map({ (value: Wrapped) -> Bool in                return true            }) else {                return true            }            return !hasValue        }    }}extension Genericclass where SomeType : Anoptional {    func filterNilValuesOfSomeproperty() -> [SomeType] {        return someProperty.filter({ (anoptional: Anoptional) -> Bool in            return !anoptional.isNil        })    }}
! }}

更新:

我已经取得了进展,但仍然没有完全解决方案

给定具有一些通用属性的类

let aClass = Genericclass<Int?>()aClass.someProperty = [3,5,6,nil,4,3,nil]let x = aClass.someProperty //x = [Some(3),Some(5),Some(6),Some(4),Some(3),nil]let y = aClass.filterNilValuesOfSomeproperty()//y = [Some(3),Some(6)]

如何编写一个扩展来过滤任何可选值并使用Wrapped类型返回值?

以下将过滤任何nil值,但仍将其作为Optional类型返回.

func ignoreNilValues <Value> (aClass: Genericclass<Value?>) -> Genericclass<Value> {    let aNewClass = Genericclass<Value>()    aNewClass.someProperty = aClass.someProperty.filter({ (v: Value?) -> Bool in        v != nil    }).map { (oldValue: Value?) -> Value in        return oldValue!    }    return aNewClass}let z = ignoreNilValues(aClass).someProperty//z = [3,6]

可以看出

protocol OptionalType {      typealias Wrapped     func intoOptional() -> Wrapped?  }  extension Optional : OptionalType {      func intoOptional() -> Wrapped? {          return self     }  }

是否可以编写一个返回包装类型的类扩展?在上面的例子中,它将是[Int]而不是[Int?].

我重写了这个例子的全局函数解决方案.

class Genericclass<SomeType> {    var someProperty: [SomeType] = []}extension Genericclass where SomeType : OptionalType {    func filterNilValuesOfSomeproperty() -> [SomeType.Wrapped] {        return someProperty.flatMap { 
extension SequenceType {    /// Return an `Array` containing the non-nil results of mapPing    /// `transform` over `self`.    ///    /// - Complexity: O(*M* + *N*),where *M* is the length of `self`    ///   and *N* is the length of the result.    @warn_unused_result    public func flatMap<T>(@noescape transform: (Self.Generator.Element) throws -> T?) rethrows -> [T]}
.intoOptional() } }}
“技巧”是定义所有选项符合的协议
(这是从 Creating an extension to filter nils from an Array in Swift开始
略微简化;这个想法可以追溯到 this Apple Forum Thread):
let aClass = Genericclass<Int?>()aClass.someProperty = [3,nil]let x = aClass.someProperty print(x) // [Optional(3),Optional(5),Optional(6),Optional(4),Optional(3),nil]let y = aClass.filterNilValuesOfSomeproperty()print(y) // [3,6]

你可以在你的情况下使用它:

protocol OptionalType {    associatedtype Wrapped    func intoOptional() -> Wrapped?}

它使用SequenceType中的flatMap()方法:

例:

在Swift 3及更高版本中,协议必须定义为

总结

以上是内存溢出为你收集整理的我如何编写一个函数,它将在swift中解包泛型属性,假设它是一个可选类型?全部内容,希望文章能够帮你解决我如何编写一个函数,它将在swift中解包泛型属性,假设它是一个可选类型?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1046369.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存