0
我用下面的代碼,它拋出一個錯誤[的NSKeyedArchiver的init]:不能使用-init初始化的NSKeyedArchiver INIT不叫
代碼: -
NSKeyedArchiver *a=[[NSKeyedArchiver alloc] init];
我用下面的代碼,它拋出一個錯誤[的NSKeyedArchiver的init]:不能使用-init初始化的NSKeyedArchiver INIT不叫
代碼: -
NSKeyedArchiver *a=[[NSKeyedArchiver alloc] init];
這是因爲的NSKeyedArchiver類沒有按沒有「簡單的香草」初始化方法。你必須使用initForWritingWithMutableData:
但是,它的超類NSObject具有該方法 – andyPaul 2012-03-28 04:32:19
如果你看看NSObject文檔,它說:「NSObject類中定義的init方法沒有初始化;它只是返回self」子類應該實現它們自己的初始化方法 – rdelmar 2012-03-28 04:36:00
另外,我認爲一些類有一些私有的初始化方法,它們只是用一些默認值調用類的指定初始化方法。也許NSKeyedArchiver沒有一個。例如,你可以使用init初始化一個NSView而不是initWithFrame :,它會給你一個帶有zeroRect的視圖,所以我猜測在內部,當你用init初始化時,NSView會調用initWithFrame:NSZeroRect。 – rdelmar 2012-03-28 04:47:03