प्रकार का मान 'बाइंडिंग <Int>' से अपेक्षित तर्क प्रकार 'बाइंडिंग <_>' में परिवर्तित नहीं किया जा सकता


10

मैं TabViewनिम्नलिखित कोड के साथ SwiftUI में एक बनाने की कोशिश कर रहा हूं :

@State var selection = 0

var body: some View {
    TabView(selection: $selection) {
        DataGridPage(type: "media").tabItem {
            Image(systemName: "photo.on.rectangle")
                .imageScale(.large)
                .foregroundColor(.yellow)
        }
        .tag(1)

        DataGridPage(type: "files").tabItem {
            Image(systemName: "doc.on.doc")
                .imageScale(.large)
                .foregroundColor(.yellow)
        }
        .tag(2)
    }
}

लेकिन मैं त्रुटि प्राप्त कर रहा हूं Cannot convert value of type 'Binding<Int>' to expected argument type 'Binding<_>'। मैं देखता हूं कि चर selectionपूर्णांक है, जो सही प्रकार है, लेकिन चेतावनी किसी कारण से अभी भी है।

जवाबों:


9

मैने समस्या के बारे में पता लगाया। बात यह है कि TabViewबंद होने में कुछ त्रुटि होने पर भी यह त्रुटि दिखाई देती है। इसलिए कोड बनाने TabViewका तरीका सही है लेकिन समस्या यह है कि मैं किस तरह से इनिशियल कर रहा हूं DataGridPage। मैं संपत्ति का नाम बदल typeके dataअंदर DataGridPageलेकिन यहाँ मैं अभी भी उपयोग कर रहा हूँ typeसंपत्ति। मैंने इसे ठीक कर दिया और इसने मुझे चेतावनी दिखाना बंद कर दिया।

मुझे लगता है कि स्विफ्टयूआई एक नया ढांचा है और डिबगिंग के मामले में अभी भी बहुत सुधार करना है। मुझे उम्मीद है कि यह भविष्य में परिपक्व होगा और हम इस अस्पष्ट बयान के बजाय सटीक त्रुटि को इंगित करने में सक्षम होंगे।

नया कोड अब इस तरह दिखता है:

@State var selection = 0

var body: some View {
    TabView(selection: $selection) {
        DataGridPage(data: "media").tabItem {
            Image(systemName: "photo.on.rectangle")
                .imageScale(.large)
                .foregroundColor(.yellow)
        }
        .tag(1)

        DataGridPage(data: "files").tabItem {
            Image(systemName: "doc.on.doc")
                .imageScale(.large)
                .foregroundColor(.yellow)
        }
        .tag(2)
    }
}

आशा है कि यह किसी को भी इसी तरह की समस्या का सामना करने में मदद करता है।


1
एक ही समस्या थी और अब इसे हल कर सकते हैं। धन्यवाद
gurehbgui

मेरी समस्या समान लग रही थी, लेकिन मुझे अपना दृश्य (कोष्ठक) बनाना याद नहीं था। तो यह वैसा ही था जैसे मैंने DataGridPage.tabItem {... DataGridPage () के बजाय। tabItem {... मेरे मामले में, व्यू ने कंस्ट्रक्टर में कोई पैरामीटर नहीं लिया।
dwaz
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.