草庐IT

ios - UICollectionViewCell socket 在类中为 nil 但在使用 dequeueReusableCellWithReuseIdentifier 后工作

在UICollectionViewCell类中有几个关于niloutlet的帖子,例如this和this,但没有一个解决方案有效。使用强导出而不是弱导出失败,registerClass解决方案不适用,因为单元不使用自定义XIB,数据源和委托(delegate)正确连接等。在这种情况下,outlet是一个UIImageView,在UICollectionViewCell类内部访问时为nil,但在外部访问时工作正常。UICollectionView代码:funccollectionView(collectionView:UICollectionView,cellForItemAtIndex

ios - Swift indexPathsForSelectedRows 返回 nil

我正在开发一个tableView,目标是实现一个可扩展/可折叠的tableView单元格。细胞的数量是完全动态的。我的东西在工作,但有一个小问题。我正在使用didSelectRowAtIndexPath来切换展开/折叠单元格。所以现在发生的是通过点击单元格上的任意位置来执行切换。:-(在单元格内,我有两个UIView(确切地说是标题和详细信息)。仅当我点击页眉而不是整个单元格时,我才需要切换展开/折叠功能。为此,我像这里一样获取indexPath,但这不起作用,因为indexPathsForSelectedRows返回nil。funcnumberOfSectionsInTableVie

ios - Swift:NSDateFormatter dateFromString 在设备上返回 nil

我在Obj-c中找到了可以解决我的问题的东西,但我无法翻译代码,所以我要求Swift解决方案。我正在解析JSON文件中的一些数据,但在检索日期时遇到问题;这是代码:println(data)//"Fri,16Jan201511:49:00+0100"vardateFormatter=NSDateFormatter()dateFormatter.dateFormat="EEE,ddLLLyyyyHH:mm:ssZZZ"letformattedDate=dateFormatter.dateFromString(data)println(formattedDate)//returns'Opt

swift - 另一个 View Controller 的 IBOutlet 为 nil

我有一个storyviewcontroller,它的View上有对象。我需要更改UILabel上的文本(在storyviewcontroller中)并将View加载到数组上。我已将IBOutlet连接到storyviewcontroller中的标签。classStoryViewController:UIViewController{@IBOutletweakvartextLabel:UILabel!@IBOutletweakvarinspiredButton:UIButton!我已经创建了一个storyviewcontroller类的对象,并且能够访问它的变量。但是,在创建storyv

swift - iOS 12 SDK 通用函数返回 Optional.some(nil)

使用Xcode10,但没有迁移到Swift4.2,所以我的项目仍在使用Swift4.1运行。假设我在Dictionary上有以下扩展:extensionDictionarywhereKey:ExpressibleByStringLiteral{funcfind(key:Key)->T?{returnself[key]as?T}}我使用此函数以类型安全的方式访问hashmap中的值,例如:letdict:[String:Any]=["foo":"bar"]letfoo:String?=dict.find(key:"foo")//prints"bar"当我希望从我的find函数返回Any类

ios - Nil-coalescing 以在 Swift 1.2 中提供默认值

以前(即Swift1.2之前)我使用过这样的代码:self.name=jsonDictionary["name"]as?String??"defaultnamestringhere"我发现这是一种可读但简洁的方式:从字典中获取值检查它是否是我期望的类型分配默认值但是在Swift1.2中,我得到了这个编译器错误:Consecutivestatementsonalinemustbeseparatedby';'我在Xcode6.3发行说明或AppleSwift博客中看不到任何关于此的内容。 最佳答案 看来你现在必须使用括号:self.na

ios - DateFormatter dateFromString 总是在 swift 3 中返回 nil

由于某些原因无法将字符串转换为NSDate。这是我的日期转换代码:letkSQLiteDateFormat:String="yyyy/MM/ddHH:mm:ssZ"letdateFormat=[kSQLiteDateFormat,"ddMM,yyyy","MMM-yyyy","yyyy-MM-dd","yyyy-12","yyyy/MM/dd","yyyy/mm/dd","yyyy-MM-ddHH:mm:ss","yyyy-MM-ddHH:mm:ssZ","yyyy-MM-ddHH:mm:ssK","yyyy-MM-ddHH:mm:ssZZ","yyyy/MM/ddhh:mma","M

swift - 显式展开可选的 nil 不会导致崩溃

之前有几个人问过这个问题,但是没有人回答。我有一个包含UITextField的UITableViewCell。如果我在textField之外稍微单击一下,该行会突出显示。我想阻止这种情况。为了防止它,我做了以下事情:overridefunctableView(_tableView:UITableView,willSelectRowAtindexPath:IndexPath)->IndexPath!{returnnil}这工作得很好。这是我的问题。本教程的作者指出:Notethatreturningnilfromamethodisonlyallowedifthereisaquestion

swift - 为什么 Nil 合并运算符是 Right Associative?

不应该是LeftAssociative吗?我觉得leta=b??c??d像这样分组leta=(b??c)??d不是leta=b??(c??d)但它被声明为右结合。我是否误解或遗漏了什么? 最佳答案 我认为这是一种优化。左关联或右关联不会改变结果。这个:(b??c)??d评估b??c,其结果作为x的左边??d。因此,即使b不为空,合并运算符也会执行2次。在这种情况下b??(c??d)如果b不为nil,则不计算右侧的表达式,因此不执行附录为了证明这一点,我做了一个简单的测试:我(重新)定义了nil合并运算符:infixoperator!

swift - Object != nil 在 Beta 5 中有效但在 Beta 6 中无效?

我让一个项目无人看管了好几个月,直到上周才安装了Beta5,在修复了AppDelegate.swift中的大量“无”错误后它开始工作了,今天尝试了Beta6,“无”错误又是?funcsaveContext(){varerror:NSError?=nilletmanagedObjectContext=self.managedObjectContextifmanagedObjectContext!=nil{ifmanagedObjectContext.hasChanges&&!managedObjectContext.save(&error){abort()}}}varmanagedObj