- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好的,我有我为核心数据创建的类</p>
LoginPass.h
然后我有头等舱
FirstClass.h
然后我需要在 SecondClass 中使用这些类,我在其中使用 @class 声明它们。头文件
SecondClass.h
...
@class FirstClass;
@class LoginPass;
...
@interface SecondClass : UIViewController
{
......
}
@property (strong, nonatomic) FirstClass *fromFirstClass;
@property (strong, nonatomic) LoginPass *myEntity;
...
@end
在 .m 文件中
#import "SecondClass.h"
#import "FirstClass.h"
#import "LoginPass.h"
@implementation SecondClass
...
@synthesize fromFirstClass = _fromFirstClass;
@synthesize myEntity = _myEntity;
...
好的,我可以在代码中犯一些错误,抱歉。我真的不知道,现在不感兴趣为什么我需要写
@synthesize myEntity = _myEntity;
但不是
@synthesize myEntity;
但是我还有一个问题。为什么我可以在我的代码中使用 then
self.fromFirstClass
但是我不会用
self.myEntity
Xcode 给我一个错误并告诉我应该使用
self._myEntity
有什么区别?为什么我可以使用 self.fromFirstClass 但不能使用 self.myEntity? @结束
最佳答案
您混淆了实例变量,它们是对象结构的变量部分,而属性实际上是设置和获取值的方法 .
当您声明 @property (strong, nonatomic) FirstClass *fromFirstClass;
时,您实际上声明了两个方法 - (FirstClass *)fromFirstClass
和 - (void) setFromFirstClass:(FirstClass *)aFirstClass
.
当你使用点语法FirstClass *classA = self.fromFirstClass;
时,你实际上调用了一个方法,它等同于FirstClass *classA = [self fromFirstClass];
。同样,如果你写self.fromFirstClass = classB;
,你实际上调用了:[self setFromFirstClass:classB];
。
如果直接在对象方法中使用实例变量的名称,则可以访问该变量。
现在,当您在现代运行时编写 @synthesize fromFirstClass;
时,您让编译器创建一个具有相同名称的实例变量 fromFirstClass
并编写两个方法 - (FirstClass *)fromFirstClass
和 - (void)setFromFirstClass:(FirstClass *)aFirstClass
将获取和设置实例变量。
如果您编写 @synthesize fromFirstClass = _fromFirstClass;
,会发生同样的事情,只是创建的实例变量的名称前面有一个下划线。
最后,在最新版本的编译器中,如果您什么都不写,默认行为是为您自动@synthesize fromFirstClass = _fromFirstClass
。
关于iphone - @class @synthesize 可用性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13986993/
在 .h 文件中添加了两个属性: @property (assign, nonatomic, readonly) float weightInLbs; @property (strong, nonat
更新到 iOS8.3 后,我开始收到一堆在 iOS8.2 上没有的新警告。其中一个特别引起了我的注意; @property (strong, nonatomic) IBOutlet UITableVi
FINAL EDIT The solution to all life's problems: Switching xcode's "Compiler Version" setting to "LLV
@synthesize 和 @property 在 Xcode 中做什么?请用非常简单的术语进行解释? 最佳答案 您要求简单的术语: @property declares a property in
从 Xcode 4.4 开始具有默认的属性综合。它会自动生成: @synthesize name = _name; source 来自source2 readwrite vs readonly 确
我有几个 UITableViewController,并希望它们都具有多个属性,例如 fetchedResultsController 和 managedObjectContext。所以我为所有这些创
在我的 AppDelegate.h 文件中,我编写了以下代码 @interface iBountyHunterAppDelegate : NSObject { UITabBarControl
我看过下面这段代码: //example.h MKMapView * mapView1; @property (nonatomic, retain) MKMapView * mapView; //ex
我有点困惑,因为在某些教程中只是 在小时 @property (readwrite,nonatomic) NSUInteger DirectProp; 米 @synthesize DirectProp
我正在学习 iPhone 开发。在书中的示例中,属性提到了@synthesize关键字。 对于控件,我在 .h 文件中定义属性,但不在 .m 文件中定义 @synthesize。我正在使用 .text
嗨,我正在尝试了解构造函数在 C++ 中的工作原理。为此,我使用以下示例: class NoDefault { public: NoDefault (const std::string &){}
嗨,我正在尝试了解构造函数在 C++ 中的工作原理。为此,我使用以下示例: class NoDefault { public: NoDefault (const std::string &){}
我正在开发 IOS 应用程序。我确实用 XCode 工具进行了分析,如果我不写自动释放则显示“潜在内存泄漏”消息。这是下面代码块中的错误吗?我不确定。 //TransferList.h @proper
这个问题在这里已经有了答案: What name does the auto-generated ivar take when I just declare a property in XCode
好的,我有我为核心数据创建的类 LoginPass.h 然后我有头等舱 FirstClass.h 然后我需要在 SecondClass 中使用这些类,我在其中使用 @class 声明它们。头文件 Se
我们使用#pragma mark - StackOverFlow Example 来组织我们的功能菜单(实现导航菜单中最内层的菜单)。 我想做的是通过删除不需要的指令(例如 @synthesize)来
我有类似的东西 @property(nonatomic,retain) UIImageView *whiteBfFillUp; @end @synthesize locationManager; 我是
我在最新的 iOS SDK 中使用带有核心数据的示例导航 View 模板。 在 rootViewController.m 文件中,我在 @synthesize 行中看到了这一点: @synthesiz
//SecondPage.h @property (nonatomic, copy) NSString *secondLabelText; +(SecondPage *) newAlloc; +(id
当我第一次学习 iOS 编程时(我相信这是来自斯坦福大学 ARC 之前的讲座),我们总是这样综合属性: @synthesize myProperty=_myProperty 但是,这似乎是 defau
我是一名优秀的程序员,十分优秀!