-1

これが何を示しているかはわかりませんが、どんな助けでも素晴らしいでしょう。

mainviewcontroller のコードは次のとおりです

#import "MainViewController.h"

#import "ECSlidingViewController.h"
#import "MenuViewController.h"

@interface MainViewController ()

@end

@implementation MainViewController
{
    NSArray *toDoList;
}

@synthesize menuBtn;

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    // Do any additional setup after loading the view.
    [super viewDidLoad];
    //initialize table data
    toDoList = [NSArray arrayWithObjects:@"Apples", "Bananas", "Soda", nil];

...

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [toDoList count];

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *simpleTableIdentifier = @"ToDoList";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }

    cell.textLabel.text = [toDoList objectAtIndex:indexPath.row];
    return cell;

}

スライディングビューコントローラーから

- (void)setTopViewController:(UIViewController *)theTopViewController
{
  CGRect topViewFrame = _topViewController ? _topViewController.view.frame : self.view.bounds;

  [self removeTopViewSnapshot];
  [_topViewController.view removeFromSuperview];
  [_topViewController willMoveToParentViewController:nil];
  [_topViewController removeFromParentViewController];

  _topViewController = theTopViewController;

  [self addChildViewController:self.topViewController];
  [self.topViewController didMoveToParentViewController:self];

  [_topViewController.view setAutoresizingMask:self.autoResizeToFillScreen];
  [_topViewController.view setFrame:topViewFrame];
  _topViewController.view.layer.shadowOffset = CGSizeZero;
  _topViewController.view.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.view.layer.bounds].CGPath;

  [self.view addSubview:_topViewController.view];
}

initViewController..

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.topViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"Main"];
  }

そしてmain.m

#import "AppDelegate.h"

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}
4

1 に答える 1

4

クラッシュは、 の次のコード行によって引き起こされていますviewDidLoad

toDoList = [NSArray arrayWithObjects:@"Apples", "Bananas", "Soda", nil];

NSString1 つおよび 2 つの C 文字列を追加しようとしています。これを試して:

toDoList = [NSArray arrayWithObjects:@"Apples", @"Bananas", @"Soda", nil];

このコード行にコンパイラの警告がないことに驚いています。コンパイラの警告を無視しないでください。

于 2013-01-29T01:39:44.230 に答える