Saya tidak dapat menyelesaikan NSInvalidArgumentException ini

Ini kode saya:

@interface TabRegsViewController ()
@end

@implementation TabRegsViewController

@synthesize parent;
@synthesize menu_select;

-(BOOL) shouldAutorotate {    
    return UIInterfaceOrientationMaskPortrait;
}

-(NSUInteger) supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

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

- (void)viewDidLoad {
    NSLog(@"***************\t\t\tTab_Reg_ViewDidLoad");
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)viewDidAppear:(BOOL)animated {
    //[super viewDidAppear:animated];
    NSLog(@"***************\t\t\tTab_Reg_ViewDidAppear");
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

UI ini hanya membuat storyboard.

Storyboard ini diputar di iPhone 5, namun iPhone 6 Plus saya tidak bisa.

************* tab_reg_ViewDidload

menghentikan aplikasi ke pengecualian yang tidak tertangkap

'NSInvalidArgumentException', alasan: '*** -[__NSPlaceholderArray initWithObjects: count: ]: mencoba memasukkan objek nil dari objek[0]'

Saya tidak tahu harus berbuat apa.

Setelah peristiwa tombol kelas induk ini terjadi, peristiwa presentViewController terjadi dan halaman berubah.

iPhone 5 berfungsi tetapi iPhone 6 plus gagal.

Saya rasa TabRegsViewController viewDidLoad ini oke, tapi pengecualian.

Saya tidak tahu cara menghapus pengecualian ini.

Tolong bantu aku.

Sunting:

Metode Panggilan Kelas ini, dan penunjuk vc serta self ini nihil. Mengapa?..

UIStoryboard *storyboard = [UIStroyboard storyboardWithName:"Main_Storyboard" bundle:nil];
TabRegsViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"TabRegsViewController"];
vc.parent = self;
[self presentViewController:vc animated:NO completion:nil];

dan titik pengecualian saat ini adalah

#import <UIKit/UIKit.h>
#import "AppDelegate.h"

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

kesalahannya adalah Thread 1: sinyal SIGABRT argc (int) argv = (unsigned char ** )NULL


person Jeong Seok Yang    schedule 13.04.2015    source sumber
comment
Baris kode manakah yang menyebabkan pengecualian? Tidak ada kode yang Anda posting yang membuat array.   -  person rmaddy    schedule 13.04.2015
comment
Dan mengapa metode viewDidLoad dan viewDidAppear: Anda tidak memanggil super?   -  person rmaddy    schedule 13.04.2015
comment
metode super tidak memanggil alasan apa-apa... hanya tes;;;   -  person Jeong Seok Yang    schedule 13.04.2015
comment
saya tidak tahu baris kode pengecualian... kelas ini hanya kode ini... jadi saya tidak tahu apa..   -  person Jeong Seok Yang    schedule 13.04.2015
comment
Lihatlah jejak tumpukan. Jika Anda tidak tahu cara men-debug kerusakan, silakan lihat raywenderlich.com/10209/my-app-crashed-now-what-part-1   -  person rmaddy    schedule 13.04.2015
comment
Saya pikir pengontrol tampilan saat ini adalah panggilan kedua.. ‹‹masalah...? contoh saya mau ke 3 tapi stroyboard 1-›2-›3. jadi panggil presentViewcontroller:2 dan 2 kelas init is presentViewController:3 ini bisa membuat bug ini??   -  person Jeong Seok Yang    schedule 13.04.2015
comment
Saya pikir itu masalah program Xcode..? Karena ketika saya mendapatkan Aplikasi di Appstore, masalah ini teratasi...;;;   -  person Jeong Seok Yang    schedule 15.04.2015


Jawaban (1)


Sepertinya nibNameOrNil nihil, tambahkan breakpoint ke baris di bawah ini. Dan beri tahu kami apa yang Anda dapatkan.

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
     //Add a breakpoint overhere or NSLog the value nibNameOrNil and nibBundleOrnil
     self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
    // Custom initialization
}
return self;
}

Jawaban lanjutan: Oke, dari membaca tangkapan layar itu saya hanya dapat memperoleh gambaran kasar tentang struktur Anda. Dan kodenya terlihat baik-baik saja. Dari pengalaman saya, kesalahan ini

'NSInvalidArgumentException', reason: '*** -[__NSPlaceholderArray initWithObjects: count: ]: attempt to insert nil object from objects[0]'

ini biasanya terjadi ketika Anda memanggil beberapa metode tetapi beberapa parameter hilang.

Anda menyebutkan

Metode Panggilan Kelas ini, dan penunjuk vc serta self ini nihil. Mengapa?..

Anda menambahkan breakpoint di posisi mana dan menemukan bahwa self itu nihil?? perlu lebih banyak kode agar saya dapat melacak kesalahan||

person Pang Ho Ming    schedule 13.04.2015
comment
oke, saya baru saja membaca pertanyaan Anda yang telah diedit. apa maksud dari baris vc.parent = self;. Saya pikir Anda dapat menghapus garis itu. - person Pang Ho Ming; 13.04.2015
comment
jika Anda tidak keberatan, Anda dapat mengirimi saya file vc tersebut dan saya dapat membantu Anda memeriksanya. - person Pang Ho Ming; 13.04.2015
comment
vc.parent maksudnya adalah vc(viewController).parent(pointer) = self(me) mean... TabRegsViewController.h ini memiliki @property (readwrite) WaitingViewController *parent; dan WaitingViewController adalah Tampilan induk. jika Anda dari korea, tolong berikan saya email Anda.. Saya bisa berbicara bahasa inggris sedikit... - person Jeong Seok Yang; 13.04.2015
comment
[email protected] ... saya dari hongkong.. menurut saya bahasa Inggris Anda baik-baik saja :D sulit untuk memahami masalah Anda hanya dengan teks|| - person Pang Ho Ming; 13.04.2015
comment
saya Kirim email.. dengan file jpeg (tangkap..) - person Jeong Seok Yang; 13.04.2015
comment
kamu melewatkan Dari = 3; dalam metode onInitViewController? - person Pang Ho Ming; 13.04.2015
comment
dan menurut saya nihil.. nihil.. adalah kata kunci yang sangat penting.. tetapi perangkat lain (iphone5, ipad2) berfungsi.. mengapa iphone6plus .................. ................................................. ........................... - person Jeong Seok Yang; 13.04.2015
comment
viewDidLoad di TabRegsViewController.m berfungsi.. tetapi selanjutnya mematikan aplikasi..;; saya tidak tahu mengapa storyboard viewController tidak menggambar;;;... - person Jeong Seok Yang; 13.04.2015