3
爲「NSObject的」不可見的@interface聲明的「初始化」從Xcode 7和iOS 9 SDK的NSObject開始,不可能了嗎?
我不能這樣做了選擇:
#import <Foundation/Foundation.h>
@interface Title : NSObject
@property NSString *title;
@property NSString *author;
- (id) initWithTitle: (NSString *)title
author: (NSString *)author;
@end
#import "Title.h"
@implementation Title
- (id) initWithTitle: (NSString *)title
author: (NSString*)author
{
self = [super init];
if (self) {
self.title = title;
self.author = author;
}
return self;
}
@end
任何人都可以帶來一些光爲什麼選擇器不見了,現在我們已經做了很長一段時間了?更重要的是,它現在仍然需要但是寫法不同嗎? - 或者我們是否應該假設返回的是正確的類型? (我不確定它是否相關,但是alloc init似乎也沒有了,Doh,這麼多代碼要重寫..任何修復?)
這是一個孤立的問題。看到我的答案。
顯示類聲明以及發佈代碼所在方法的其餘部分。 – rmaddy
使用'instancetype',而不是'id'作爲'init ...'方法的返回值。看看是否有幫助。 – rmaddy
問題依然存在。 ('NSObject'沒有可見的@interface聲明選擇器'init')也許我的Xcode 7安裝有問題嗎? – user4047248