0

引用符を配列に格納する単純な引用符ジェネレーターをまとめました。見積もりビューコントローラのインターフェイスと実装ファイルは次のとおりです。

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

@property(nonatomic, retain)NSArray *myQuotes;
@property(nonatomic, retain)NSMutableArray *movieQuotes;
@property (nonatomic, retain) IBOutlet UITextView *quote_text;

-(IBAction)quote_btn_touch:(id)sender;

@end

ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

@synthesize myQuotes;
@synthesize movieQuotes;
@synthesize quote_text;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
  self.myQuotes = [NSArray arrayWithObjects:
                   @"Live and let live", 
                   @"Don't cry over spilt milk", 
                   @"Always look on the bright side of life", 
                   @"Nobody's perfect", 
                   @"Can't see the woods for the trees",
                   @"Better to have loved and lost than not loved at all",
                   @"The early bird catches the worm",
                   @"As slow as a wet week",
                   nil];

  quote_text = nil;
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
  return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

-(IBAction)quote_btn_touch:(id)sender {
  // 1 - Get number of rows in array
  int array_tot = [self.myQuotes count];
  // 2 - Get random index
  int index = (arc4random() % array_tot);
  // 3 - Get the quote string for the index 
  NSString *my_quote = [self.myQuotes objectAtIndex:index];
  // 4 - Display the quote in the text view
  self.quote_text.text = [NSString stringWithFormat:@"Quote:\n\n%@",  my_quote];      
}

@end

xibファイルで、quote_textとquote_btn_touchをそれぞれ使用して、テキストビューとボタンをファイルの所有者に接続しました。

問題は、ボタンをクリックしても何も起こらないことです。私が見逃したものはありますか?

前もって感謝します!

4

1 に答える 1

0

viewDidLoadで引用テキストをnilに設定します。それを取り除くと、ボタンをviewcontroller関数に正しくバインドしている限り、コードは機能するはずです。

quote_text = nil;
于 2012-06-02T15:09:20.943 に答える