【发布时间】:2012-07-21 06:07:11
【问题描述】:
这是我第一次在 iOS 中使用 for 循环!万岁!
请注意,“bookTitle”是类中的一个 NSString 对象。当此类启动时,它接受一个 String 参数并将 bookTitle 设置为该参数。
books = [[NSMutableArray alloc] initWithObjects:
[[Book alloc] initWithTitle:@"What a great title" andAuthor:@"R Crimson"],
[[Book alloc] initWithTitle:@"What another great title" andAuthor:@"R Crimson"],
nil ];
NSUInteger count = [books count];
for(NSUInteger i= 0; i < count;i++){
Book *tb= [books objectAtIndex:i];
if(tb.title=bookTitle){
nameLabel.text=tb.title;
}
遗憾的是 tb.title 和 bookTitle 都是空的。应该发生的是,数组中任何具有与 bookTitle 匹配的标题的对象都应该将其标题分配给 nameLabel。
所以我想知道我哪里出错了,以及是否有更好的解决方案?因为标题属性不是唯一标识符,所以如果我将两个具有相同标题的对象添加到书籍中(我不太可能会这样做,但仍然如此!)它会返回多个对象,这不好。
提前致谢。
【问题讨论】:
-
我认为错误不在您提供的代码中。看来您可能没有正确设置 Book init 方法中的标题。此外,您应该使用 isEqualToString: 来比较 tb.title 和 bookTitle。 = 将 tb.title 设置为 bookTitle。 isEqualToString:检查两个字符串是否相同。
标签: ios for-loop nsmutablearray