0

ランダムなテキストジェネレーターを作成したいのですが、通常のテキストジェネレーターの作成方法は知っていますが、この場合は機能しません。したがって、私が写真を撮るか選択したコードは、別のView Controllerに表示され、写真が撮られるたびに、最後のViewControllerのラベルをランダムな文として設定したいと思います。私が自分自身を正しく説明したかどうかはわかりません。これは私が持っているコードです:

//ViewController.m   

     -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
        if([segue.identifier  isEqualToString:@"CameraSegue"] || [segue.identifier isEqualToString:@"LibrarySegue"])
        {

            UIImagePickerController *controller = [segue destinationViewController];
            controller.sourceType = [segue.identifier isEqualToString:@"LibrarySegue"] ?  UIImagePickerControllerSourceTypePhotoLibrary : UIImagePickerControllerSourceTypeCamera;
            controller.delegate = self;


        }
        else if([segue.identifier isEqualToString:@"ShowImageViewController"]){

            UIImage *image = (UIImage*)sender;
            ShowImageViewController *viewController = segue.destinationViewController;
            viewController.pickedImage = image;

            UILabel *label = (UILabel *) sender;
            ShowImageViewController *vc = segue.destinationViewController;
            vc.cap = label;
           //I tried to set the label here
            label.text = @"Hello";

        }
    }

    -(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{
        [self dismissViewControllerAnimated:YES completion:nil];
    }

    -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
        UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
        [self dismissViewControllerAnimated:YES completion:^{
            picker.delegate = nil;
            [self performSegueWithIdentifier:@"ShowImageViewController" sender:image];
        }];
    }

//SeconViewController.h
@property(nonatomic, strong) UIImage *pickedImage;
@property (weak, nonatomic) IBOutlet UIImageView *pickedImageView;
@property(nonatomic, retain) IBOutlet UILabel *cap;

//SecondViewController.m

-(void)viewWillAppear:(BOOL)animated{
    self.pickedImageView.image = self.pickedImage;
}
4

2 に答える 2

0

あなたはこれで行くことができます。これはac関数ですが、objective-cで使用することも、変換することもできます。

 void generateRandomString() {

      int numRandChars = 15;
      for ( int i = 0; i < numRandChars; i++ ) {

          int intChar = arc4random()%126;

          // Limit to above 33+
          while ( intChar < 33 ) { intChar = arc4random()%126; }

          // Use ascii table to convert
          char aChar = (char)toascii(intChar);

          // Print or do whatever you want with the string
          printf("\n%d = %c",intChar, aChar);
      }
 }

また、ラベルの設定でまだ問題が発生する場合は、「送信者」が実際に何であるかを把握する必要があります。つまり、nilではなく、実際にUILabelであるかどうかを確認する必要があります。

お役に立てば幸いです。

于 2012-12-09T21:25:02.697 に答える
0

迅速に、これを使用して子音と母音を取得し、ループに入れて単語を作成することができます。それが役立つことを願っています

func getConsonant() {
    var consonant:NSString = "QWRTYPSDFGHJKLZXCVBNM"
    var selected = Character(UnicodeScalar(consonant.characterAtIndex(Int(arc4random_uniform(20)))))
    println("This is a consonant \(selected)")
}

func getVowel() {
    var vowel:NSString = "AEIOU"
    var selected = Character(UnicodeScalar(vowel.characterAtIndex(Int(arc4random_uniform(4)))))
    println("This is a vowel \(selected)")
}
于 2014-10-08T08:39:58.053 に答える