objective-c委托语法查询
我不熟悉objective-c,对学员的使用方式非常困惑。我遇到了这段代码,我想用它来澄清一些疑问objective-c委托语法查询,objective-c,ios,Objective C,Ios,我不熟悉objective-c,对学员的使用方式非常困惑。我遇到了这段代码,我想用它来澄清一些疑问 #import <Foundation/Foundation.h> @protocol ProcessDataDelegate <NSObject> @required - (void) processSuccessful: (BOOL)success; @end @interface ClassWithProtocol : NSObject { id <
#import <Foundation/Foundation.h>
@protocol ProcessDataDelegate <NSObject>
@required
- (void) processSuccessful: (BOOL)success;
@end
@interface ClassWithProtocol : NSObject
{
id <ProcessDataDelegate> delegate;
}
@property (retain) id delegate;
-(void)startSomeProcess;
@end
在这里,有两处提到delegate一词,有人能解释一下在id斜括号delegate斜括号闭合的上下文中使用delegate一词的含义吗
同样,还有一个名为delegate的属性。它是否应该不会引起任何冲突
提前感谢,没有,只有一个属性,由@property retain id delegate定义;另一个是NSObject的某种私有变量,它不是objective-c意义上的属性。。。然后,在.m文件中有@synthetize关键字,这将扩展属性 另一种表示法,id表示,委托应该符合某个协议 您可以从类访问这两个属性,但只能从外部访问属性。此外,对于一个属性,还生成了一些其他内容——在不使用ARC的情况下是retain,内存管理例程 为了消除混乱?讲座中,有一种很好的方法可以拥有类私有属性,当您在.m文件中而不是在匿名类别中定义它们时,如:
@interface MyClass()
@property (nonatomic, retain) NSString privateString;
@end
@implementation
@synthetize privateString;
// ...
@end
不,只有一个属性,由@property retain id delegate定义;另一个是NSObject的某种私有变量,它不是objective-c意义上的属性。。。然后,在.m文件中有@synthetize关键字,这将扩展属性 另一种表示法,id表示,委托应该符合某个协议 您可以从类访问这两个属性,但只能从外部访问属性。此外,对于一个属性,还生成了一些其他内容——在不使用ARC的情况下是retain,内存管理例程 为了消除混乱?讲座中,有一种很好的方法可以拥有类私有属性,当您在.m文件中而不是在匿名类别中定义它们时,如:
@interface MyClass()
@property (nonatomic, retain) NSString privateString;
@end
@implementation
@synthetize privateString;
// ...
@end
这一行:
id <ProcessDataDelegate> delegate;
您可以在中阅读有关这些内容的所有信息。这一行:
id <ProcessDataDelegate> delegate;
您可以在中阅读有关此内容的所有信息。IMHO也应该对该属性有协议要求。代码将按原样工作,但我发现编写@PropertyRetainideLegateIMO更为简洁,因为该属性也应该有协议要求。代码将按原样工作,但我发现编写@PropertyRetainideLegate更简洁