'da yazım hatası nasıl bildirilir Swift'de özel bir tür gerekirse, typedef
yapabilir miyim, nasıl yapabilirim? Anahtar kelime typealias
Swift
typealias CustomType = String
var customString:CustomType = "Test String"
'da yazım hatası nasıl bildirilir Swift'de özel bir tür gerekirse, typedef
yapabilir miyim, nasıl yapabilirim? Anahtar kelime typealias
Swift
typealias CustomType = String
var customString:CustomType = "Test String"
(kapatma sözdizimi typedef gibi bir şey) Yukarıdaki yanıt eklendi:
"typealias" kullanılan anahtar kelime yapar ki hızlı olduğunu typedef gibi benzer işlevler. söz dizimi, aşağıda gösterildiği gibi param
/*defines a block that has
no input param and with
void return and the type is given
the name voidInputVoidReturnBlock*/
typealias voidInputVoidReturnBlock =() -> Void
var blockVariable :voidInputVoidReturnBlock = {
println(" this is a block that has no input param and with void return")
}
girişi olan bir typedef oluşturmak için:
/*defines a block that has
input params NSString, NSError!
and with void return and the type
is given the name completionBlockType*/
typealias completionBlockType = (NSString, NSError!) ->Void
var test:completionBlockType = {(string:NSString, error:NSError!) ->Void in
println("\(string)")
}
test("helloooooooo test",nil);
/*OUTPUTS "helloooooooo test" IN CONSOLE */
bu kapanışın yeni bir türünü nasıl tamamlayabilirim tamamlamaBlock: (NSString, NSError!) -> Void = {strg, hata myString = "Haider" println ("Metnim: \ (myString)") } –
typealias newClosure = ((strg1: NSString, num1: NSNumber) -> Void)? –
@WaqasHaiderSheikh 'typealias closureType = (NSString, NSError!) -> Void' gibi yapabilirsiniz. Ve şunu kullanalım: "completionBlock: closureType = {strg, // içinde bir hata yap"} –
typedef
yerine kullanılır
Elma olmak Elma (~ farklı ~), kendi Typedef 'typealias' olarak adlandırılır. Apple'ın * Swift Programlama Dilini * okudun mu? – Kreiri
Bu belgeyi burada da bulabilirsiniz: https://developer.apple.com/library/prerelease/ios/navigation/ (sayfadaki "Hızlı Programlama Dili" ni aramayı kesebilecek bir doğrudan bağlantı eklemek yerine) – petert
@Kreiri Swift'in "typealias" özelliği "typedef" olarak adlandırılmamıştır, çünkü yeteneği "typedef" 'den çok daha azdır ve modern programlamada ihtiyaç duyulan kullanım durumlarına çok daha fazla odaklanmıştır. Bu, Swift'in genel tasarım ilkesini, C'nin küçük sözlüğünden farklı olarak,… _creative_… şekilleri yerine, özel ihtiyaçlara yönelik daha geniş bir sözlüğe sahip olmasını izler. Apple, 'typedef' olarak adlandırmayı seçmiş olsaydı, insanlar C 'typedef' gibi çalışmasını beklerdi. Microsoft'un sıkça karşılaştığı tasarım sorunu budur - yerleşik isimleri kullanacaklar ancak uygulamalarının farklı şekilde çalıştıkları. –