小编Vin*_*van的帖子

为什么这个 SwiftUI Picker 代码不起作用?

Xcode:11.2.1

下面的代码是一个包含两个组件的简单表单;选择器(选择字母)和文本(显示所选字母)。代码编译并运行,但是当选择一个字母时,它不会出现在“选定...”文本中。此外,第一次(仅)选择一个字母时,Xcode 会显示一个(虚假的?)运行时警告。

struct ContentView: View {

    @State private var letter = ""
    private let letters = ["Alpha", "Bravo", "Charlie"]

    var body: some View {
        NavigationView {
            Form {
                Picker("Select a letter", selection: $letter) {
                    ForEach(0..<letters.count) {
                        Text(self.letters[$0])
                    }
                }
                Text("Selected letter: \(letter)")
            }
            .navigationBarTitle("Main Menu")
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

有关信息:运行时警告:

[TableView] 仅警告一次:UITableView 被告知在不位于视图层次结构中的情况下布局其可见单元格和其他内容(表视图或其超级视图之一尚未添加到窗口中)。这可能会因为在没有准确信息(例如表视图边界、特征集合、布局边距、安全区域插入等)的情况下强制表视图内的视图加载和执行布局而导致错误,并且还会因额外的布局传递而导致不必要的性能开销。在 UITableViewAlertForLayoutOutsideViewHierarchy 处设置一个符号断点,以在调试器中捕获此情况并查看导致此情况发生的原因,因此您可以在可能的情况下完全避免此操作,或者将其推迟到表视图添加到窗口中为止。表视图:<_TtC7SwiftUIP33_BFB370BA5F1BADDC9D83021565761A4925UpdateCoalescingTableView:0x7f8b33872600;基类 = UITableView; 帧=(0 0;414 896);剪辑边界=是;自动调整大小=W+H;手势识别器 = ; 层=; 内容偏移:{0,-140};内容大小:{414,205.33333333333337};调整后的内容插入: {140, 0, 34, 0}; 数据源:<_TtGC7SwiftUIP10 $10f5cd23419ListCoreCoordinatorGVS_20SystemListDataSourceOs5Never_GOS_19SelectionManagerBoxS2___:0x7f8b33407a70>>

xcode picker swift swiftui

3
推荐指数
1
解决办法
3760
查看次数

快速列出产品

给定 Swift 中的两个列表:

let rows = ["a", "b", "c"]
let cols = ["1", "2", "3"]
Run Code Online (Sandbox Code Playgroud)

是否可以使用列表理解将它们组合起来以产生以下结果:

squares = ["a1", "a2", "a3", "b1", "b2", "b3", "c1", "c2", "c3"]
Run Code Online (Sandbox Code Playgroud)

显然,它可以使用“for 循环”和类似的结构来完成,但我专门针对基于列表理解的解决方案。我知道 Swift 可以做一些列表理解(例如 let Evens = Array(filter(1..<10) { $0 % 2 == 0 }) ),但无法弄清楚它是否可以做类似于下面的事情哈斯克尔:

let squares = [ r ++ c | r <- rows, c <- cols]
Run Code Online (Sandbox Code Playgroud)

list-comprehension swift

2
推荐指数
1
解决办法
599
查看次数

代码给了我编译错误,预期:列表分隔符或)

我试图创建一个Excel VBA代码按钮将在列复制数据A8:A399B8:B399C8:C399D8:D399E8:E399F8:F399G8:G399H8:H399在Excel中的一个工作簿到另一个工作簿,而无需打开它。但是我使用的代码给了我一条错误消息:

编译错误,预期:列表分隔符或)

它突出显示了(:)in Set myData = Workbooks.SaveAs(“C:\Users\athif\Desktop\Test_Pos\DataBase.xlsx”)。请告诉我一个解决方案。

这是我的代码:

Private Sub CommandButton1_Click()
    LR = Range("A399").End(xlUp).Row
    LR1 = Range("B399").End(xlUp).Row
    LR2 = Range("C399").End(xlUp).Row
    LR3 = Range("D399").End(xlUp).Row
    LR4 = Range("E399").End(xlUp).Row
    LR5 = Range("F399").End(xlUp).Row
    LR6 = Range("G399").End(xlUp).Row
    LR7 = Range("H399").End(xlUp).Row

    Dim itemIndex As String
    Dim itemNumber As String
    Dim itemDetails As String
    Dim itemPrice As Single
    Dim itemCust_nam As String
    Dim itemMobile As String
    Dim …
Run Code Online (Sandbox Code Playgroud)

excel vba

0
推荐指数
1
解决办法
4万
查看次数

切换开关与三元运算符

在下面的示例代码中:为什么flip1编译但不是flip2

enum Coin {
   case heads
   case tails

    var flip1: Coin {
        switch self {
        case .heads: return .tails
        case .tails: return .heads
        }
    }

    var flip2: Coin {
        return self.heads ? .tails : .heads
    }
}
Run Code Online (Sandbox Code Playgroud)

conditional-operator swift

0
推荐指数
1
解决办法
274
查看次数