码迷,mamicode.com
首页 > 其他好文 > 详细

use of undeclared identifier *** , did you mean ***. in xcode

时间:2015-03-09 10:48:57      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

A property is not the same thing os a instance variable, you should read a little bit of them, there‘s plenty of sources in the internet.

Summarizing, a property is the combination of the instance variable (by default, automaticated declaraded with a underscore), and it‘s get and set methods.

To access the property inside your class, you should call for self.propertyName, in your case it would be self.myTextfield. This will access the gererated get method of the property. You can always, of course if you are inside the class, skip the get method and access the variable directly. In this case, it would be _myTextfield.

If you are not confortable with this automaticated instance variable generated, you can always declare your own and bind it with the property with the @synthesize command. Like this:

@synthesize myTextfieldProperty = myTextfieldVariable;

Here‘s more information about the synthesize. As I said before, this command binds one iVar to a property. So, when you execute the line above, inside your class, you can either reference to the iVar directly, calling myTextfieldVariable, or by the property, self.myTextfieldProperty (there are a few differences actually between them, but I‘m not entering in details).

If you don‘t write the synthesize, what xcode does for you, automatically, is this:

@synthesize myTextfield = _myTextfield;

So, in your case, as you does not synthesize your property, xcode automatically created the iVar with the underscore in the beginning. It‘s just a pattern that xcode follows.

The line @synthesize myTextfield;, without binding an iVar directly, is simple the same as

@synthesize myTextfield = myTextfield;

i.e. you are creating an iVar with the same name of your property. And why these two lines are actyally the same thing? I don‘t know, again, it‘s just a pattern that xcode follows.

use of undeclared identifier *** , did you mean ***. in xcode

标签:

原文地址:http://www.cnblogs.com/welhzh/p/4322835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!