Re: Method name starts with "set"
> Le 2 août 2016 à 07:11, Trygve Indaa écrit : > > I have a class where I would like to have a method name like: > > -(void)setMaximumOperations:(NSInteger)operations > { > [[self operationQueue] setMaxConcurrentOperationCount:operations]; > > ... Do other stuff ... > } > > Is this a bad idea? There is no property called "maximumOperations" in my > class but using a "set" method name in this way may imply there is, although > the compiler likely doesn't care. > > How is the best way to name something like this? Actually, there is no difference between a property and a pair of getter/setter methods. Here you have defined a write-only property, and since you have this method, you could write: o.maximumOperations=42; as well as: [o setMaximumOperations:42] The same code is generated in both cases. If you added a method -(NSInteger)maximumOperations then you'd have a read-write property. You can call it a derived property, since it is not implemented directly as a slot of your instances. -- __Pascal Bourguignon__ ___ 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
Re: Method name starts with "set"
On Aug 1, 2016, at 22:11 , Trygve Indawrote: > > Is this a bad idea? No, it’s harmless. It’s possible that the compiler will report it as a property, but remember that it’s Obj-C and there were no syntactic properties until a mere 9 years ago. For backward compatibility with code back to the 1980s, the compiler isn’t allowed do anything magical with methods you define. > How is the best way to name something like this? I’d avoid making it look like a setter, otherwise you risk confusing future human readers of your code. You could maybe call it “limitConcurrencyTo:”. Alternatively, just make it a property “maximumOperations” or (better, I think) “maximumOperationCount”. The operation queue value is, after all, itself a property, so writing a getter is trivial. You can even call it “maxConcurrentOperationCount” to match the operation queue, since Apple has already gone to the trouble of devising, debating, focus-grouping and end-user-testing the best possible property name already (hasn’t it?). ___ 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
Method name starts with "set"
I have a class where I would like to have a method name like: -(void)setMaximumOperations:(NSInteger)operations { [[self operationQueue] setMaxConcurrentOperationCount:operations]; ... Do other stuff ... } Is this a bad idea? There is no property called "maximumOperations" in my class but using a "set" method name in this way may imply there is, although the compiler likely doesn't care. How is the best way to name something like this? ___ 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