广播发送后,发送者的实力对象为空怎么处理?

广播发送后,发送者的实力对象为空怎么处理?

http://img1.sycdn.imooc.com//climg/5b012cfe000187dc10000625.jpg
如图;post发送后,recevie已经接收到了。但是post实例对象p1就出现黄色感叹号了,就是说他没被使用。广播的发送与接受中,他没用处嘛?或者说怎么让他消失?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
imoocLovers 2018-05-25 15:38:45

下面的例子可以解决黄色警告的问题,如果按照这种写法还提示黄色警告的话,那么请你认真看一下,是否按照这种写法:

- (void)testNotification {
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notification) name:@"Notification" object:nil];
    
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"
    //将所有提示黄色警告的代码全放在中间位置
    Post *p1 = [[Post alloc] init];
#pragma clang diagnostic pop
    
    
}


imoocLovers 2018-05-25 09:52:44

在post这个类中,重写init方法,然后将postNotificationName发通知这个方法放在init中,一初始化就开始发通知,最后在main方法中按照下面的写法:

#import <Foundation/Foundation.h>
#import "Post.h"
#import "Receive.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        Receive *re = [[Receive alloc] init];
        [re testNotification];
//加上下面这句话,黄色的警告就消失了
#pragma clang diagnostic ignored "-Wunused-variable"
        Post *p = [[Post alloc] init];
    }
    return 0;
}


  • 提问者 幕布斯2332854 #1
    加上了 p1又出现黄色感叹号了
    2018-05-25 15:02:28
imoocLovers 2018-05-21 09:48:23

是的,创建的p1没有使用,广播的发送与接收中它没有用到,你可以不用创建post实例对象,祝学习愉快~

  • 提问者 幕布斯2332854 #1
    不创建实例对象,控制台打印不出来怎么办?
    2018-05-24 21:09:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
iOS入门:基础语法与常用控件
  • 参与学习       1337    人
  • 提交作业       712    份
  • 解答问题       1878    个

很多人都在疑问没有基础该怎么学习iOS开发?不用担心,本路径采用游戏关卡式的教学模式,并且以经典OC与最新Swift双重结合的教学内容,帮助大家快速掌握两种iOS开发语言基础,去掉“零”标签。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师