Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在属性集上定义setter方法_Ios_Objective C_Xcode - Fatal编程技术网

Ios 在属性集上定义setter方法

Ios 在属性集上定义setter方法,ios,objective-c,xcode,Ios,Objective C,Xcode,有没有一种方法可以定义一个setter方法,该方法将在设置如下属性时运行: @implementation MyClass @synthesize object = _object; //setter - (void)setObject:(SomeClass *)object { _object = object; } //getter - (SomeClass *)object { return _object; } //class implementation @end 我想打

有没有一种方法可以定义一个setter方法,该方法将在设置如下属性时运行:

@implementation MyClass
@synthesize object = _object;
//setter
- (void)setObject:(SomeClass *)object
{
   _object = object;
}
//getter
- (SomeClass *)object
{
   return _object;
}
//class implementation
@end
我想打电话

object.something = 0;
同时,在对象类中,我想实现如下功能

- (void)setSomething:(NSInteger)something{
    self.something = something;

    // some other work too
}

您可以这样做:

@property (nonatomic, weak, setter = setSomething:) UIImageView *photoImageView;

无论如何,setSomething:是名为something的属性的默认方法。您只需将self.something替换为_something,如评论中所述。

您可以这样做:

@property (nonatomic, weak, setter = setSomething:) UIImageView *photoImageView;

无论如何,setSomething:是名为something的属性的默认方法。您只需将self.something替换为_something,如评论中所述。

您可以这样做:

@property (nonatomic, weak, setter = setSomething:) UIImageView *photoImageView;

无论如何,setSomething:是名为something的属性的默认方法。您只需将self.something替换为_something,如评论中所述。

您可以这样做:

@property (nonatomic, weak, setter = setSomething:) UIImageView *photoImageView;

无论如何,setSomething:是名为something的属性的默认方法。您只需将self.something替换为_something,正如注释中所指出的。

您需要的是所谓的属性。 在类@interface中定义属性,如下所示:

@interface MyClass()
@property (strong, nonatomic) SomeClass *object;
@end
它将自动为它创建ivar_对象、setter和getter。 您可以重写访问器方法。但如果同时重写setter和getter,则需要合成如下属性:

@implementation MyClass
@synthesize object = _object;
//setter
- (void)setObject:(SomeClass *)object
{
   _object = object;
}
//getter
- (SomeClass *)object
{
   return _object;
}
//class implementation
@end

你想要的东西叫做财产。 在类@interface中定义属性,如下所示:

@interface MyClass()
@property (strong, nonatomic) SomeClass *object;
@end
它将自动为它创建ivar_对象、setter和getter。 您可以重写访问器方法。但如果同时重写setter和getter,则需要合成如下属性:

@implementation MyClass
@synthesize object = _object;
//setter
- (void)setObject:(SomeClass *)object
{
   _object = object;
}
//getter
- (SomeClass *)object
{
   return _object;
}
//class implementation
@end

你想要的东西叫做财产。 在类@interface中定义属性,如下所示:

@interface MyClass()
@property (strong, nonatomic) SomeClass *object;
@end
它将自动为它创建ivar_对象、setter和getter。 您可以重写访问器方法。但如果同时重写setter和getter,则需要合成如下属性:

@implementation MyClass
@synthesize object = _object;
//setter
- (void)setObject:(SomeClass *)object
{
   _object = object;
}
//getter
- (SomeClass *)object
{
   return _object;
}
//class implementation
@end

你想要的东西叫做财产。 在类@interface中定义属性,如下所示:

@interface MyClass()
@property (strong, nonatomic) SomeClass *object;
@end
它将自动为它创建ivar_对象、setter和getter。 您可以重写访问器方法。但如果同时重写setter和getter,则需要合成如下属性:

@implementation MyClass
@synthesize object = _object;
//setter
- (void)setObject:(SomeClass *)object
{
   _object = object;
}
//getter
- (SomeClass *)object
{
   return _object;
}
//class implementation
@end

你似乎拥有它,除了它是
\u something=something。你似乎拥有它,除非它是
\u something=something。你似乎拥有它,除非它是
\u something=something。你似乎拥有它,除非它是
\u something=something@特洛伊木马,如果我理解正确,如果您覆盖两个访问器,则不会创建实例变量。好的,如果您尝试不合成属性并重写set和get,那么在类实现中使用_objectivar将导致编译时间error@trojanfoe请注意,我已经添加了。这就是你不需要合成的结果。如果您不重写这两个访问器方法,则不需要合成属性:Hmmm,有趣。我收回我的评论。我想我总是在重写两个访问器时提供我自己的实例变量,这导致了我的混淆。@特洛伊敌人,如果我理解正确,如果您重写两个访问器,则不会创建实例变量。好的,如果您尝试不合成属性并重写set和get,那么在类实现中使用_objectivar将导致编译时间error@trojanfoe请注意,我已经添加了。这就是你不需要合成的结果。如果您不重写这两个访问器方法,则不需要合成属性:Hmmm,有趣。我收回我的评论。我想我总是在重写两个访问器时提供我自己的实例变量,这导致了我的混淆。@特洛伊敌人,如果我理解正确,如果您重写两个访问器,则不会创建实例变量。好的,如果您尝试不合成属性并重写set和get,那么在类实现中使用_objectivar将导致编译时间error@trojanfoe请注意,我已经添加了。这就是你不需要合成的结果。如果您不重写这两个访问器方法,则不需要合成属性:Hmmm,有趣。我收回我的评论。我想我总是在重写两个访问器时提供我自己的实例变量,这导致了我的混淆。@特洛伊敌人,如果我理解正确,如果您重写两个访问器,则不会创建实例变量。好的,如果您尝试不合成属性并重写set和get,那么在类实现中使用_objectivar将导致编译时间error@trojanfoe请注意,我已经添加了。这就是你不需要合成的结果。如果您不重写这两个访问器方法,则不需要合成属性:Hmmm,有趣。我收回我的评论。我想我总是在重写两个访问器时提供自己的实例变量,这导致了我的混淆。