ios-作为指针的delegate实体变量

问题描述

作为指针的delegate实体变量

通常我会将代理实体变量作为指针声明:

__weak NSObject <ViewControllerDelegate> *delegate;

在苹果的样例中是这样:

__weak id <ViewControllerDelegate> delegate;

不知道使用id和NSObject的区别是什么?

时间: 2024-08-17 16:24:36

ios-作为指针的delegate实体变量的相关文章

objective c-ARC模式如何释放全局实体变量

问题描述 ARC模式如何释放全局实体变量 在h文件中批量创建instance: IBOutlet UIImageView *imageView; IBOutlet UIImageView *subImageView; IBOutlet UIImageView *arrowRight; IBOutlet UIImageView *arrowLeft; IBOutlet UIImageView *arrowDown; 程序是ARC模式的. 是否应该在dealloc ()方法中设置为nil来释放? 谢

iphone-如何在块中获取实体变量?

问题描述 如何在块中获取实体变量? 访问block中的实体变量.但是在block中得到EXC_BAC_ACCESS.工程里没用ARC. .h file@interface ViewController : UIViewController{ int age; // an instance variable}.m filetypedef void(^MyBlock) (void);MyBlock bb;@interface ViewController ()- (void)foo;@end@imp

c语言-为什么我用指针可以改变常变量的值

问题描述 为什么我用指针可以改变常变量的值 如图,能和我解释一下吗?为什么直接赋值不可以,而用指针却可以? 解决方案 肯定的啊,你定义了一个指针int *p_index; p_index就是个指针,而 *p_index便是指针p_index指向的内容,即是a. *p_index = 30 等价于 a=30. 所以你改变了p_index指针指向的内容a 解决方案二: 堆和栈 栈:存储空间小,执行效率高. 堆:存储空间大,执行效率低. 栈是本着先进后出的原则.我们所定义的局部变量和形参,都存储在栈内

指向变量的常指针与指向常变量的指针详细解析_C 语言

常(量)指针常指针就是我们说的指向常量的指针,顾名思义,它是用来指向常量的. 用常指针指向常变量实际上,C++规定只能用指向常变量的指针指向常变量,普通指针指向它就会报错,原因也很容易理解,我们用普通指针指向常变量之后,有可能就会进行改变常变量数值的操作,这样做是不被允许的. 常指针的定义方法: 复制代码 代码如下: const 类型名  * 常指针名; 下面是它的一个简单的使用示例:程序1.1.1 复制代码 代码如下: #include<iostream>using namespace st

关于C/C++ const变量 const指针 以及C++ 引用变量的解析

 关于C/C++ const变量 const指针 以及C++ 引用变量的解析    首先我们知道const表示一个不能更改的值,在程序中往往使用这种属性来保证安全,但是这种操作在C和C++中却不同  我测试中C++不能用MEMCPY进行更改但是C却可以  其中我们常见的  const int a = 10;一个常量,不能更改其a的值  const int *p1;一个指针但是他的返回值是const int类型  如我们可以  p = &a;  int* const p;一个指针,这个指针在整个生

指针-关于结构struct变量访问?

问题描述 关于结构struct变量访问? 关于结构struct变量访问?两个问题 1.两个不同结构中有部分相同的变量, typedef struct Code { char symbol[8]; char name[32]; //中文名 int date_st; short int id; }CodeS; typedef struct Code { char symbol[8]; char name[32]; //中文名 int age: int num: int date_st; short

iOS对象指针和基础数据类型的强转详解_IOS

本文主要介绍了iOS中对象指针和基础数据类型如何进行强转,下面话不多说,直接来看示例详解. 一.对象指针的强转: UIView *view = [UIView new];//new一个UIView类的对象 UILabel *label = (UILabel *)view;//强转成UILabel指针 label.text = @"123";//给label的text属性赋值(调用label的setText方法) 上述代码会产生崩溃,崩溃信息如下: -[UIView setText:]:

objc直接通过指针访问对象实例变量

我们现在来做一件被认为是very bad的事情,如题所示:无论实例变量是私有的.保护的都可以通过地址访问到,并且还可以修改之.这可以称之为所谓的"超级键值编码". 首先上代码: #import <Foundation/Foundation.h> @interface Foo:NSObject{ NSString *name; } @property int id_num; @end @implementation Foo -(id)init{ self = [super i

苹果iOS通过指针的指针修改对象

比较常用的将对象转换为JsonData的Foundation方法: + (nullable NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error; 这个方法传的error就是指针的指针. NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:obj options:NS