Re: Swift description
Re: Swift description
- Subject: Re: Swift description
- From: Jens Alfke <email@hidden>
- Date: Sat, 11 Jul 2015 11:51:36 -0700
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 <email@hidden> wrote:
>
>
>> On 11 Jul 2015, at 22:24, William Squires <email@hidden> 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 (email@hidden)
>
> 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:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden