2013-05-18 50 views
-1

我試圖在用戶選擇照片時使用didFinishPickingMediaWithInfo。當他們紛紛拿起照片,我想生成一個數組來一個UILabel中的項目,就像這樣:從數組中選擇隨機項目iOS

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 
{ 
    NSArray *myArray = [NSArray arrayWithObjects:@"test1",@"test2",@"test3",@"test4",@"test5",@"test6", nil]; 

    int numberOfObjects = self.yourArrayOfStrings.count; 

    NSInteger randomNumberInRange = arc4random() % numberOfObjects; 

    NSString *randomText = [myArray objectAtIndex:randomNumberInRange]; 

    self->_label.text = randomText; 
} 

但我得到的錯誤:「物業‘yourArrayOfStrings’不是類型FDViewController的」對象中找到*'「就行了:」int numberOfObjects = self.yourArrayOfStrings.count;「。

我不知道我應該用什麼替換你的ArrayList。有任何想法嗎?

+1

你在頭文件中聲明「yourArrayOfString」? @interface FDViewController:UIViewController { NSArray * yourArrayOfString; } – kailoon

+1

您應該使用'arc4random_uniform(NUMBER)'而不是'arc4random()%NUMBER'(這會導致NUMBER'大多數值的分佈不均勻)! – Kitsune

回答

2

NSInteger randomNumberInRange = arc4random() % [myArray count];

1

,如果你想引用它作爲

自應創建屬性yourArrayOfStrings對象。 yourArrayOfStrings 其他明智替換yourArrayOfStrings與此 _yourArrayOfStrings。