2016-04-20 4 views
3

, выбрав первой Tableview строки/раздел Я хочу, чтобы проверить, если выбран пункт уже 2 Tableview?, Если да, то обнаружил, что выбранный элемент indexOfObject во 2-е Tableview.Получить indexOfObject метод без использования фонда объектов

NSInteger sectionIndex = [[allSelectedProducts valueForKey:@"productID"] indexOfObject:[allProductData[indexPath.section] valueForKey:@"productID"]]; 

это будет возвращать индекс выбранного объекта в allSelectedProducts, Возвращает самый низкий индекс которого соответствующий массив значение равно заданному объекту.

Я хочу выполнить эту же задачу в быстрой, как я могу ее достичь!

В Swift я взял allSelectedProducts за 1 Tableview и allProductData для 2-го Tableview как массивы с Array<Dictionary<String, Any>> типа

Я хочу, чтобы выполнить эту задачу без использования Foundation классов, мы можем выполнить ту же задачу в array с использованием indexOf в Swift!?

let productIndex = allSelectedProducts.indexOf(<#T##predicate: ([String : Any]) throws -> Bool##([String : Any]) throws -> Bool#>) 

Если можно, то как? пожалуйста, руководство меня, как использовать indexOf в быстрой

Thanx заранее за любую помощь

+3

I» вы улучшили свой вопрос, но он все еще не очень ясен. Не стесняйтесь использовать кнопку [edit], чтобы улучшить ее. Кроме того, избегайте использования textpeak, Stack Overflow не является чат-приложением, не спешите правильно вводить слова. Спасибо. – Moritz

+2

Спасибо Эрик Д. за редактирование. –

+0

Если вы уже используете 'Array', то почему вы не хотите использовать типы объектов фундамента? – NRitH

ответ

0

Наверное что-то вроде этого:

let searchedProductID = allProductData[indexPath.section]["productID"] 
let index = allSelectedProducts.indexOf { $0["productID"] == searchedProductID } 

, который является прямым переводом исходного кода

+0

'let index = allSelectedProducts.indexOf (searchProductID)' – NRitH

+0

@NRitH Я так не думаю, потому что 'allSelectedProducts' содержит словари. Лучшим решением было бы разобрать словари на объекты и определить '==' для использования 'productId'. – Sulthan

+0

О, мужчина; ты прав. Итак, «let selectedProduct = allSelectedProducts [indexPath.section]; let index = allProductData.indexOf (product) '. – NRitH

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