加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift 我遇见的一些坑

发布时间:2020-12-14 06:24:52 所属栏目:百科 来源:网络整理
导读:好吧,用了下storyboard ,果然是一级棒,好好用,最新的xcode 8.2更加智能了 好的,废话不说了,分享点心得 UICollectionViewController 创建成功会在viewDidLoad()里面加上这么一句话 self .collectionView ! .register (UICollectionViewController .self

好吧,用了下storyboard ,果然是一级棒,好好用,最新的xcode 8.2更加智能了

好的,废话不说了,分享点心得

  • UICollectionViewController 创建成功会在viewDidLoad()里面加上这么一句话
self.collectionView!.register(UICollectionViewController.self,forCellWithReuseIdentifier: reuseIdentifier)

很好理解的,创建的就是UICollectionViewController,它在自己的初始化会载入cell的类型,于是我就写写写,用自定义的cell。问题来了,报错了,这么改

self.collectionView!.register(SomeCollectionViewController.self,forCellWithReuseIdentifier: reuseIdentifier)

就是将其类型换的和下面一致就好了,类型这个有点吹毛求疵
e…发现加上这句会报一个这样的错,
fatal error: unexpectedly found nil while unwrapping an Optional value
妈哒,程序是走了,我把报错这句删了就好了,但是我得显示东西啊,我就把上面那句初始类型删了,然后就不报错了。。。
保险还是删了吧,这个求解释呢。

  • 还有一个是 对一个为空的optional值进行解包. http://www.52php.cn/article/p-awfsjirf-bbp.html,用之前得判断一下
  • (⊙v⊙)嗯,在Swift里面,我发现有好多官方方法后面多了个thows,这就是异常抛出呀,用的时候得加try http://www.jianshu.com/p/21dce915d552 里面说的很详细的
  • 有些方法需要特定的类型,就像对照片进行操作的时候,添加删除啦什么的,下面是在
    PHAssetCollectionChangeRequest里面找到的方法。
- (void)addAssets:(id<NSFastEnumeration>)assets; - (void)insertAssets:(id<NSFastEnumeration>)assets atIndexes:(NSIndexSet *)indexes; - (void)removeAssets:(id<NSFastEnumeration>)assets;

用的时候,传参还是像之前那样子,传个数组进去,结果就报错了,类型不匹配,这个NSFastEnumeration是快速枚举类型,是为了方便用for in 这个方法的。那我是不是可以理解成为,一个数组想要for each 就得加上这个类型NSFastEnumeration,解决的时候就是as! 就好了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读