int indx;
ヘッダー ファイルでプロパティを宣言します。次に、実装ファイルに次の 2 つのメソッドがあります。
-(IBAction)nextHaiku
{
{
if (!self.indx)
{
self.indx=0;
}
NSString *cat = self.selectedCategory;
//For now (adjust later so that, according to UISegmentedControl, it will also show only the user's haiku or all haiku):
cat = @"Derfner";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"category == %@", cat];
NSArray *filteredArray = [self.gayHaiku filteredArrayUsingPredicate:predicate];
int array_tot = [filteredArray count];
int sortingHat;
if (array_tot > 0)
if (self.indx == self.theseAreDone.count)
{
while (true)
{
sortingHat = (arc4random() % array_tot);
if (![theseAreDone containsObject:[filteredArray objectAtIndex:sortingHat]]) break;
}
self.haiku_text.text = [[filteredArray objectAtIndex:sortingHat] valueForKey:@"quote"];
if (!self.theseAreDone || self.theseAreDone.count==array_tot)
{
self.theseAreDone = [[NSMutableArray alloc] init];
}
[theseAreDone addObject:[filteredArray objectAtIndex:sortingHat]];
self.indx = self.theseAreDone.count;
}
else
{
self.haiku_text.text = [[self.theseAreDone objectAtIndex:indx] valueForKey:@"quote"];
self.indx += self.indx;
}
}
}
と
-(IBAction)previousHaiku
{
self.haiku_text.text = [[self.theseAreDone objectAtIndex:self.indx-1] valueForKey:@"quote"];
self.indx -= self.indx;
}
NSLog
が呼び出されるself.indx
たびに 1 ずつ増加することを示しています。newHaiku
しかし、最後に呼び出されたときの値に関係なく、0から始まるNSLog
ことも示しています。self.indx
previousHaiku
newHaiku
私は何が欠けていますか?