Objective-C class names with a +

巧了我就是萌 提交于 2019-12-19 19:43:03

问题


Does a class name, say UIImage+Something or UIImageView+Somethingelse, mean that it acts like a custom UIImage or UIImageView?


回答1:


I think you are looking at the file names of Categories, not Classes. The plus character + is not allowed in class names or any other identifier in Objective-C.

An Objective-C category is a way of adding methods (but not instance variables) to a class you don't necessarily have the source to. For example, if you frequently want to make upside-down copies of UIImages, you can use a category to add a upsideDownImage method onto the UIImage class.

It's common to save this code in a file named UIImage+UpsideDown.m (with an accompanying header file, UIImage+UpsideDown.h).




回答2:


This is a naming convention when using an Objective-C Category to extend the functionality of a class. See the article: http://macdevelopertips.com/objective-c/objective-c-categories.html for a much better explanation.



来源:https://stackoverflow.com/questions/6687074/objective-c-class-names-with-a

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!