Pregunta

Tengo dos matrices en C Objetivo y tengo que encontrar lo que algo índice es así que puede insertarlo en el mismo lugar. Por ejemplo, digamos que tengo una "matriz de nombre" y una "matriz de edad". ¿Cómo puedo averiguar qué índice de "Charlie" se encuentra en el "nombre de la matriz", así que sé dónde insertar su edad en la matriz de la "edad"?

Gracias

¿Fue útil?

Solución

-[NSArray indexOfObject:] parecería ser la opción lógica

Otros consejos

En Cocoa, las matrices paralelas son un camino a la condenación y la ruina. No se puede utilizar de manera efectiva con los enlaces, por lo que tendrá que escribir un montón de código de unión en su lugar, como si no existiera Enlaces. Por otra parte, estás matando a las próximas ayudas Puente AppleScript / Scripting es posible que la intención de tener incluso antes de comenzar a ponerlo en práctica.

La forma correcta es crear una clase de modelo con propiedades name y age, y tienen un único conjunto de instancias de esa clase. A continuación, para encontrar un artículo por el nombre o la edad, utilizar NSPredicate para filtrar la matriz, y indexOfObjectIdenticalTo: para encontrar el índice de cada elemento de la matriz filtrada en la matriz principal.

La diferencia entre indexOfObject: y indexOfObjectIdenticalTo: es que el primero enviará mensajes isEqual: para determinar si cada objeto es el que está buscando, mientras que el segundo sólo se buscará el objeto específico que se ha pasado. Por lo tanto, se puede utilizar indexOfObject: con un objeto que no se encuentra en la matriz, pero es igual a uno, es decir, con el fin de encontrar el objeto iguales en la matriz.

Es posible que sólo desee utilizar un NSDictionary, también, si usted está haciendo operaciones de búsqueda basado en cadenas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top