我有一个数组 NSObject
类(class)。该类包含几个属性 - 名称、地址、描述等。当用户执行搜索时,我创建了一个仅包含“名称”属性的数组。最后,我们得到了填充有“名称”(或具有正确“名称”的单个单元格)的表格 View 。
接下来,我需要为用户找到的这个特定名称显示该对象的所有其他属性。为了尽可能清楚,我想澄清一下:我有一个包含很多对象的数组,其中包含许多属性。我只有其中一个属性的值(不知道数组中的哪个对象包含该特定名称)。现在我需要以某种方式在我的数组中找到包含特定“名称”的对象。可能,我需要该对象的索引,而且很容易获得所有其他属性,附加到这个 NSObject
.
我不确定我应该提供什么代码。所以,我将粘贴我的 NSObject
的标题类(class):
@interface PlaceHolder : NSObject
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSString *description;
@property (nonatomic, retain) NSString *webPage;
任何建议将不胜感激,谢谢!
更新:
整个数组的 NSLog:
整个数组是 (
"\U041c\U043e\U0441\U043a\U043e\U0301\U0432\U0441\U043a\U0438\U0439 \U041a\U0440\U0435\U0301\U043c\U043b\U044c \U2014 \U0434\U0440\U0435\U0432\U043d\U0435\U0439\U0448\U0430\U044f \U0447\U0430\U0441\U0442\U044c \U041c\U043e\U0441\U043a\U0432\U044b, \U0433\U043b\U0430\U0432\U043d\U044b\U0439 \U043e\U0431\U0449\U0435\U0441\U0442\U0432\U0435\U043d\U043d\U043e-\U043f\U043e\U043b\U0438\U0442\U0438\U0447\U0435\U0441\U043a\U0438\U0439, \U0434\U0443\U0445\U043e\U0432\U043d\U043e-\U0440\U0435\U043b\U0438\U0433\U0438\U043e\U0437\U043d\U044b\U0439 \U0438 \U0438\U0441\U0442\U043e\U0440\U0438\U043a\U043e-\U0445\U0443\U0434\U043e\U0436\U0435\U0441\U0442\U0432\U0435\U043d\U043d\U044b\U0439 \U043a\U043e\U043c\U043f\U043b\U0435\U043a\U0441 \U0433\U043e\U0440\U043e\U0434\U0430, \U043e\U0444\U0438\U0446\U0438\U0430\U043b\U044c\U043d\U0430\U044f \U0440\U0435\U0437\U0438",
"\U0421\U043f\U0430\U0301\U0441\U0441\U043a\U0430\U044f \U0431\U0430\U0448\U043d\U044f (\U0440\U0430\U043d\U0435\U0435 \U2014 \U0424\U0440\U043e\U043b\U043e\U0301\U0432\U0441\U043a\U0430\U044f \U0431\U0430\U0448\U043d\U044f) \U2014 \U0432\U044b\U0445\U043e\U0434\U044f\U0449\U0430\U044f \U043d\U0430 \U041a\U0440\U0430\U0441\U043d\U0443\U044e \U043f\U043b\U043e\U0449\U0430\U0434\U044c \U043e\U0434\U043d\U0430 \U0438\U0437 20 \U0431\U0430\U0448\U0435\U043d \U041c\U043e\U0441\U043a\U043e\U0432\U0441\U043a\U043e\U0433\U043e \U041a\U0440\U0435\U043c\U043b\U044f. \U0412 \U0431\U0430\U0448\U043d\U0435 \U0440\U0430\U0441\U043f\U043e\U043b\U043e\U0436\U0435\U043d\U044b \U0433\U043b\U0430\U0432\U043d\U044b\U0435 \U0432\U043e\U0440\U043e\U0442\U0430 \U041a\U0440\U0435\U043c\U043b\U044f \U2014 \U0421\U043f\U0430\U0441\U0441\U043a\U0438",
和一百个或更多类似的行。
名称数组是:
"\U041c\U043e\U0441\U043a\U043e\U0432\U0441\U043a\U0438\U0439 \U043a\U0440\U0435\U043c\U043b\U044c",
"\U0421\U043f\U0430\U0441\U0441\U043a\U0430\U044f \U0431\U0430\U0448\U043d\U044f",
"\U0410\U0440\U0445\U0430\U043d\U0433\U0435\U043b\U044c\U0441\U043a\U0438\U0439 \U0441\U043e\U0431\U043e\U0440",
"\U0423\U0441\U043f\U0435\U043d\U0441\U043a\U0438\U0439 \U0441\U043e\U0431\U043e\U0440",
"\U0411\U043b\U0430\U0433\U043e\U0432\U0435\U0449\U0435\U043d\U0441\U043a\U0438\U0439 \U0441\U043e\U0431\U043e\U0440",
"\U041a\U043e\U043b\U043e\U043a\U043e\U043b\U044c\U043d\U044f \U0418\U0432\U0430\U043d\U0430 \U0412\U0435\U043b\U0438\U043a\U043e\U0433\U043e",
我不确定它是否有帮助,但如果您要求
NSLog
数组就在那里..
最佳答案
只是不要从对象中取出名称。相反,对对象进行排序,然后将每个对象的名称显示在表格上(因此您永远不应该只有名称列表)。
从技术上讲,您可以在对象上运行搜索(迭代或谓词)以找到具有匹配名称的“一个”,但可能存在重复,并且您可能允许稍后编辑名称,因此在另一个列表中有一个副本是维护问题。您可以保留一个索引,但是当您可以直接使用原始对象列表时,您创建一个容器对象只是为了保存索引。
关于ios - 查找包含特定字符串的对象的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24649442/