@interface String : NSString
{
int m_isnull;
}
- (id) init;
- (int) isNull;
@end
@implementation String
- (id) init
{
self = [super init];
m_isnull=1;
return self;
}
- (int) isNull
{
return m_isnull;
}
@end
テスト:
String *a;
[email protected]"ok";
が正常に動作しますが、わずか2少し質問
1)私がコンパイルしているときに、私はこの警告があります。
warning: incompatible Objective-C types assigning 'struct NSString *', expected 'struct String *'
私はそれを避ける方法がわからないのですか?
2)a = @ "ok"は文字列を初期化する最も速い方法ですが、私がデバッグしているときは、私のinitコンストラクタで止めません。なぜですか?
NSStringをサブクラス化することは、経験のあるココア開発者が決して行うことではありません。私は心からあなたがやっていることをしないことをお勧めします。 –
確かにDave。しかし、それは新しいObj-C開発者のための共通の落とし穴です:) –
もちろん、私が言ったようにそれは役に立たないです... !!! – Stef