Swift 3泛型Obj-c的扩展不能访问类的泛型参数

时间:2016-11-11 03:28:07

标签: ios swift

extension PHFetchResult: Sequence {
    public  func makeIterator() -> NSFastEnumerationIterator {
    return NSFastEnumerationIterator(self)
    }
}

苹果修复了这个错误吗?还是有“工作”的解决方法?

2 个答案:

答案 0 :(得分:1)

  

苹果修复了这个错误

没有。基本上你不能再将for...in与PHFetchResult一起使用了。幸运的是,还有其他方法可以循环使用PHFetchResult;他们只是丑陋,这就是全部。我的代码示例:

let result = PHCollectionList.fetchCollectionLists(with:
            .momentList, subtype: .momentListYear, options: opts)
for ix in 0..<result.count {
    let list = result[ix]
    // ...
}

(有一段时间你也无法下标PHFetchResult,但现在至少你可以这样做。)

答案 1 :(得分:0)

我面临以下问题:

错误:“通用Objective-C类的扩展无法在运行时在Swift 4.2和Xcode 10.2.1中访问该类的通用参数” 我正在使用以下版本的反应性库:

活性可可(10.0.0) ReactiveObjC(3.1.1) ReactiveSwift(6.0.0) 结果(4.1.0) Xcode:10.2.1

快速版本:4.2

代码段:

  <select>
    @foreach(var item in ViewBag.listOfItems)
    {
      <option value="@item.Id">@item.Author<option>
    }
    </select>

由于这个问题,我们被封锁了。

有人遇到相同的问题并找到解决方法吗?