2016-10-02 3 views
0

У меня есть два tableView, запущенных в моем проекте. Я успешно передал данные между двумя таблицами и сохранил его как массив tableView в свой второй tableView с помощью segue. У меня есть еще одна функция для подключения моего второго представления таблицы используя кнопку tabBar. Каждый раз, когда я нажимаю кнопку tabBar, он создает пустой tableViewCell в indexPath: 0. Я понимаю, почему это происходит, но я не знаю, как остановиться. Мой код нижеОбнаружение и удаление пустой таблицыViewCell в Swift

AppDelegate:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 
    // Override point for customization after application launch. 

    let defaultValues = ["NewArray": [String]()] 
    UserDefaults.standard.register(defaults: defaultValues) 

    return true 
    } 

MY Второй VC

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 

    let defaults = UserDefaults.standard 
    newArray = defaults.array(forKey: "NewArray") as! [String] 
    // newArray.append(newItem) 
    newArray.insert(newItem, at: 0) 
    defaults.set(newArray, forKey: "NewArray") 
    self.favTableView?.reloadData() 
    } 

Спасибо заранее ...

+1

Каждый раз, когда вызывается 'viewDidLoad', вводится новый элемент. Строка кажется пустой, если 'newItem' - пустая строка. Вы можете пересмотреть свой дизайн, чтобы вставить элемент по требованию. – vadian

+0

@vadian вы можете подробнее рассказать ... Спасибо – Joe

+0

Я написал ответ. – vadian

ответ

2

На самом деле самое простое решение, чтобы проверить, если newItem является не пусто, потому что если представление представлено из segue a (не-emp ty) передается в свойство newItem.

override func viewDidLoad() { 
    super.viewDidLoad() 

    let defaults = UserDefaults.standard 
    newArray = defaults.array(forKey: "NewArray") as! [String] 
    // newArray.append(newItem) 
    if !newItem.isEmpty { 
    newArray.insert(newItem, at: 0) 
    defaults.set(newArray, forKey: "NewArray") 
    } 
    self.favTableView?.reloadData() 
} 
+0

Код работает снова спасибо – Joe

 Смежные вопросы

  • Нет связанных вопросов^_^