I think William asked how to implement a custom description, not how to print 
it.

The method is the same (for compatibility): description(). But since Swift is 
stricter about typing, you have to implement the Printing (sp?) protocol, which 
contains just that one method, to signal that your class has a custom 
description.

—Jens 

> On Jul 11, 2015, at 7:36 AM, Roland King <r...@rols.org> wrote:
> 
> 
>> On 11 Jul 2015, at 22:24, William Squires <wsqui...@satx.rr.com> wrote:
>> 
>> In ObjC, I can have a class implement the description message so I can do:
>> 
>> MyClass *myObj = [[MyClass alloc] init];
>> 
>> NSLog("%@", myObj);
>> 
>> and it will be as if I did:
>> 
>> NSString *aDesc = [myObj description];
>> NSLog("%@", aDesc);
>> 
>> What's the Swift equivalent?
> 
> 
> just print it
> 
>    print( “\(myObj)” )
> 
> You’ll get
> 
> 1) something very ordinary if myObj doesn’t implement anything special
> 2) the result of debugDescription if it implements 
> CustomDebugStringConvertible
> 3) the result of description if it implements CustomStringConvertible
> 
> 2) and 3) are protocols you implement. That’s what they are called in Swift 
> 2.0, they were called something else in Swift 1.x but the idea is the same
> _______________________________________________
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/jens%40mooseyard.com
> 
> This email sent to j...@mooseyard.com

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to