2011-12-04 11 views
0

構文これらの2つのタイプのインスタンスメソッドの構文

が、私はこのような何かを持っていると言う。..

NSString *Jam = [[NSString alloc]init]; 

または

NSString *Jam; 

に差がある場合、私はちょうど思ったんだけどどんなに重要ではありませんか。

次の2行のコードの違いは何ですか。

Jam = [Jam substringToIndex:1]; 

[Jam substringToIndex:1]; 

、なぜそれは私だけでこのような何かを引くことができるようにNSStringの見つけること..です

私は私が使用した他のクラスを使用した場合これまで(私はそれを多く使っていませんでした)、この種の構文は機能しません。

私は

NSString *object = [object stringByAppendingFormat:@"%@"]; 

または

NSString *object; 
object = [object stringByAppendingFormat:@"%@"]; 

が、他のクラスとを行うことができたNSStringクラスとのに対し..たとえば、NSIntegerを、私は同じ構文をしようと...

NSInteger *number = [number setIntValue:2]; 

私は空値が無視されるべきではないと私に言っているエラーが出ます。

ありがとうございました。

答えて

0

stringByAppendingFormatは新しい文字列を元の文字列に追加して作成されたNSStringを返すので、NSStringのために機能します。

setIntValueエラーが発生したクラスの新しいコピーは返されません。

+0

ありがとうございますが、質問の最初の部分はどうですか? – Heartbound07