你好,我正在学习UITests,现在
我有个问题
如何检测accessoryView的敲击tableViewCell?在UITest
下面是我的 tableViewCell
我想检测细节关闭配件视图的点击
像这样
app.tables.cells.buttons["FTCellAccesoryIdentifier"].tap()
但是accesorry是一个子类 UIView
所以我在cellForRows功能中分配了accisibility identifier键
cell.accessoryView?.accessibilityIdentifier ="FTCellAccesoryIdentifier"
我的测试功能是
我试试
app.tables.cells.elementBoundByIndex(lastCellIndex).otherElements.elementMatchingType(.Any, identifier: "FTCellAccesoryIdentifier").tap()
Run Code Online (Sandbox Code Playgroud)
但不行
可以在UITests中点击单元格的accesoryView吗?
我有一个关于内部访问控制级别的问题
Internal是defaultSwift 中的访问控制级别
所以我认为internal应该删除所有访问控制
是否有internal在 Swift 中显式使用访问控制的特定情况?
我何时或如何internal在 Swift 中使用访问控制?
我有一个关于结构的问题
WWDC2016,session推荐使用struct(值类型)
但如果结构体还有 3 个内联变量字,则结构体必须管理引用计数以将大值存储到堆
那么我的问题是
当结构体有 3 个另一个结构体并且每个结构体有 2 或 3 个另一个结构体或值类型时
我想知道在这种情况下是否使用引用计数它是如何工作的
下面是结构体的例子
struct ViewModel {
var titleModel: TitleModel
var contentModel: ContentModel
var layoutModel: LayoutModel
}
struct TitleModel {
var text: String
var width: Float
var height: Float
}
struct ContentModel {
var content: String
var width: Float
var height: Float
}
struct LayoutModel {
var constant: Float
var multiply: Float
}
Run Code Online (Sandbox Code Playgroud) 将Swift 2.2迁移到Swift 3之后的Xcode 8.2.1
UICollectionView的cellForItem未正确调用但在迁移之前工作正常
我有CollectionView与水平UICollectionViewFlowLayout并设置分页设置为true
UIViewController的视图框架与UICollectionView的框架相同,也是像网页应用程序一样的单元框架(全尺寸)
cellForItem当我向右滚动UICollectionView时,我在(UICollectionViewDataSource func)中打印indexPath.row
indexPath.row打印如下
0, 3, 4, 5, 6, 7, 8, 9, 10
然后在最后打印时滚动到相反的方向 10
下一个indexPath 7但它应该是9因为最后调用的索引是10
并滚动直到第一个单元格显示
6, 5, 4, 3, 2, 1, 0 印刷的
为什么会出现这种情况?
在迁移之前的Swift 2.2中,工作正常
在Swift 3或iOS 10之后是否有更改为UICollectionView或UICollectionViewFlowLayout?