0

非常に基本的でありながら不可解なエラーです。

NSString *selectedCategory = @"Rock";

if (self.quoteOpt.selectedSegmentIndex == 1) 
{
        selectedCategory = @"Programming";
}

//filter array by ti tle using predicate
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Genre == %@", selectedCategory];
NSArray *filteredArray = [self.movieQuotes filteredArrayUsingPredicate:predicate];

int array_tot = [filteredArray count];

if(array_tot > 0)
{
   int index = (arc4random() % array_tot);
   NSMutableArray *a = [filteredArray objectAtIndex:index];
   NSString *s = [a objectAtIndex:1];
   self.quoteText.text = [NSString stringWithFormat:@"Genre \n\n %@",s];
}
else
{
   self.quoteText.text = [NSString stringWithFormat:@"No quotes to display."];
}

私はそれがどのように動作するかに困惑しています.大量のエラーは

NSString *s = [a objectAtIndex:1];

po hexaddress を実行しました。int のように見えますが、どこから来たのですか?

*a と *s の両方の結果をそれぞれ po'ing;

*あ:

(NSMutableArray *) $3 = 0x088941f0 {
  Genre = Rock;
  Name = Creed;
  "New item" = Higher;
 }

*s:

(int) $4 = 143213040 {
  Genre = Rock;
  Name = Creed;
  "New item" = Higher;
}

私はそれを理解することはできません. (私の 2 セント tho)

ティア

4

0 に答える 0