Προσθήκη στοιχείων σε ένα άδειο συστοιχία ρίχνει σφάλματα

ψήφοι
0

Προσπαθώ να προσθέσει στοιχεία σε μια κενή σειρά string και προσπάθησα να ακολουθήσει αυτή τη θέση add-τιμή-για να αδειάσει-σειρά , αλλά κανένας επιλογές με βοηθούν και οδηγούν σε Xcode ρίχνουν λάθη κάθε φορά. Εδώ είναι ο κωδικός, εάν έχετε κουραστεί:

var tasks = [String]()
tasks += [something]

Αυτό μου έδωσε 6 λάθη σχετικά με τον κωδικό Χ με το πρώτο να είναι Διαδοχική δήλωση σε μια γραμμή πρέπει να διαχωρίζονται από? Στη συνέχεια λέει ότι είναι άκυρος redeclaration των καθηκόντων που ακολουθείται από μια δέσμη των λαθών λέγοντας ότι η func κάνει. Όταν προσπαθώ το .append λει αντί + = δίνει τα ίδια λάθη

Τώρα, αν δοκιμάστε το εξής:

 var tasks = [String]()
 var tasks = [Something]

μου δίνει μόνο το άκυρο λάθος redeclaration, αλλά δεν πιστεύω ότι αυτό το σωστό τρόπο για να προσθέσετε στοιχεία στη συστοιχία

Ας ελπίσουμε ότι αυτό εξηγεί το θέμα και συγγνώμη μου για την περίεργη ερώτηση αρχάριο, αλλά ευχαριστώ για τη βοήθεια εκ των προτέρων

Δημοσιεύθηκε 14/02/2020 στις 00:03
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
-1

Δεν μπορείτε να χρησιμοποιήσετε +=με ένα [String](σειρά από Strings) και String.

Εδώ είναι ένα παράδειγμα έτρεξα σε μια παιδική χαρά:

var array: [String] = []
array.append("A")
print(array)

Τυπώνει ["A"]. Χωρίς να δει τον κωδικό σας θα είναι δύσκολο να διαγνώσει αν υπάρχει ένα άλλο πρόβλημα.

Ενημέρωση μετά την εξέταση κωδικό σας:

var tasks = [Sting]() // Should be String

tasks.append(["something"])

Δεν μπορείτε να επισυνάπτει στη δήλωση, θα πρέπει να προσθέσετε το προσάρτησης σε μια λειτουργία (δοκιμάστε viewDidLoadή viewWillAppearσε δοκιμασία). ["something"]είναι μια σειρά από String, όχι ένα String. Θα πρέπει να χρησιμοποιήσετε "something"αντ 'αυτού.

Απαντήθηκε 14/02/2020 στις 00:07
πηγή χρήστη

ψήφοι
1

Κοίταξα τον κωδικό στο Pastebin σας και το θέμα είναι ότι είχε τόσο τη δήλωση και την εκχώρηση σε χωριστές γραμμές στον ορισμό της κατηγορίας.

class TableViewController: UITableViewController {

    //temp list of tasks
    var tasks = [Sting]()

    //giving some default values in the cell
    tasks.append(["something"])

Μπορείτε επίσης ορίσει Stringλάθος, αλλά αυτό δεν έχει σημασία για τη λύση.

Ένα άλλο ζήτημα είναι ένα είδος mis-match. Μπορείτε να κηρύξει μια σειρά από String , η οποία θα είναι [String]. Ωστόσο, προσπαθείτε να προσθέσετε μια σειρά από String σε μια άλλη σειρά String, η οποία είναι λάθος.

tasks.append(["something"])

Αντ 'αυτού, θα πρέπει να έχετε

tasks.append("something")

Αυτό προσθέτει τώρα ένα στοιχείο Stringγια την σειρά σας Strings.

Τέλος, μπορείτε να κάνετε ένα από δύο πράγματα: Εκχώρηση της συστοιχίας σε δημιουργία

var tasks = ["something"]

ή να εκχωρήσει μέσα σε μια συνάρτηση, όπως σας ViewDidLoad

Απαντήθηκε 14/02/2020 στις 00:33
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more