สมมติว่าฉันต้องการสร้างอินสแตนซ์ของ NSString
ซึ่งเริ่มต้นเป็นค่าที่แน่นอน ขึ้นอยู่กับค่าของตัวแปรอื่น ปกติผมก็จะทำ
NSString *string;
if(foo == 1)
string = @"Foo is one.";
else
string = @"Foo is not one.";
อย่างไรก็ตาม ในโค้ดตัวอย่างบางส่วนที่ฉันเคยเห็น ฉันเคยเห็นผู้คนทำ
NSString *string = nil;
if(foo == 1)
string = @"Foo is one.";
else
string = @"Foo is not one.";
ความแตกต่างระหว่างทั้งสองคืออะไรและควรใช้วิธีใด?