2012-01-02 16 views

cevap

7

Ben Yakut programcı değilim, bu yüzden ince bir şey eksik olabilir, ancak öyle görünüyor ki andand güvenle zincir yöntemi bir yöntem çağrısı nil döndürebilir bile aramaları yapabilirsiniz böylece yapar. Bu, Objective-C'de yerleşiktir çünkü nil'in (aslında doğru şekilde mesaj gönderilmesi olarak adlandırılan) çağrı yöntemleri güvenli ve mükemmel kabul edilebilirdir. Nil olacak iletiler her zaman sıfırlanır ve temel olarak bir op içermez. Objective-C bu gayet: Dolayısıyla

id foo = [someObject objectByDoingSomething]; // foo might be nil 

id bar = [foo objectByDoingSomethingElse]; 

// If foo is nil, calling objectByDoingSomethingElse is essentially 
// a no-op and returns nil, so bar will be nil 
NSLog(@"foo: %@ bar: %@", foo, bar); 

objectByDoingSomething nil döndürebilir bile bu, o ince: The Objective-C Programming Language itibaren

id foo = [[someObject objectByDoingSomething] objectByDoingSomethingElse]; 

: "Objective-C, göndermek için geçerlidir Nil'e bir mesaj - çalışma zamanında sadece bir etkisi yoktur. Bu belge, Objective-C'de nil'de arama yöntemlerinin tam davranışı hakkında daha fazla ayrıntı içerir.

İlgili konular