美文网首页
2020-12-07(5)自己_2

2020-12-07(5)自己_2

作者: 想在月球上弹琴的孩子 | 来源:发表于2020-12-09 09:00 被阅读0次

11:安全处理

建议在定义NSArray和NSDictionary时使用类型标注,可以保证程序的安全性:

@property (nonatomic, strong) NSArray <GJRVipPayTypeModel *> *payTypesArr;

复制代码

向代理或block发送消息时需要判断其是否实现该方法

if ([self.delegate respondsToSelector:@selector(signUpViewControllerDidPressSignUpButton:)])

{

    [self.delegate signUpViewControllerDidPressSignUpButton:self];

}

if(self.finishBlock)

{

    self.finishBlock();

}

block weakself strongself --不一定每个都需要,写一个dealloc判断一下【每个类都写,避免内存泄漏】

12:私有变量

推荐以 _ 开头,写在 .m 文件中。例如 NSString * _somePrivateVariable

13: int a = 1;

    NSCAssert(a == 2, @"a must equal to 2"); //第一个参数是条件,如果第一个参数不满足条件,就会记录并打印后面的字符串

14:工程基本样式 【自己14】

15:注释

对于类的注释写在当前类文件的顶部

对于属性的注释需要写在属性后面的地方。 //**<userId*/

对于 .h 文件中方法的注释,一律按快捷键 command+option+/。三个快捷键解决。按需在旁边对方法进行说明解释、返回值、参数的说明和解释

对于 .m 文件中的方法的注释,在方法的旁边添加 //。

注释符和注释内容需要间隔一个空格。 例如: // fetch goods list

16:

配置文件同样也分两种,分为开发(Development)和发布(Distribution),配置文件(Provisioning Profiles)中包含了证书、App ID、设备(Devices),后缀名为.mobileprovision。

它在开发者账号体系中扮演着配置和验证的角色,是--真机调试和--打包上架必须的文件。

17:代理相关的

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@protocol TestViewDelegate <NSObject>

- (void)iKnowButtClick;

@end

@interface TestView : UIView

@property (nonatomic, weak) id<TestViewDelegate> delegate;

@end

// TestView.m

- (void)buttClick{

    //if ([self.delegate respondsToSelector:@selector(iKnowButtClick)]) {

        [self.delegate iKnowButtClick];//代理类中 方法会被调用

    //}

}

17:block

#import <UIKit/UIKit.h>

//typedef定义一下block,为了更好用

typedef void(^MyBlock)(NSString *string);

@interface MyFirstViewController : UIViewController

@property (nonatomic, copy) MyBlock block;

@end

- (IBAction)buttonBAction {

    [self dismissViewControllerAnimated:YES completion:^{

    }];

      self.block(_myTextfielf.text);

}

//关键demo:

- (IBAction)buttonAction { 

    MyFirstViewController *myVC = [[MyFirstViewController alloc] init];

    [self presentViewController:myVC animated:YES completion:^{   

    }];

    __weak typeof(self) weakSelf = self;//防止循环引用

//用属性定义的注意:这里属性是不会自动补全的,方法就会自动补全

    [myVC setBlock:^(NSString *string){

        weakSelf.labelA.text = string;

    }];

}

:::::谁定义block,就会向调用者返回值

18:xdealloc 每个类都要调用dealloc 防止内存泄漏

19:[NSObject cancelPreviousPerformRequestsWithTarget:self];

  [NSObject cancelPreviousPerformRequestsWithTarget:self] 取消所有延迟方法的调用。

20:CocoaPods是iOS平台当前最流行的包管理工具,可以将它理解为一个可以自动部署到项目的组件池,而对应的podfile文件就相当于请求组件的Request。当组件下载到工程后,cocoaPods会自动完成组件集成到现有项目的工作,并完成修改.xcodeproj文件和创建.xcworkspace文件。最终将所有组件统一打包成Pods.framework静态库,供项目使用。

相关文章

  • 2020-12-07(5)自己_2

    11:安全处理 建议在定义NSArray和NSDictionary时使用类型标注,可以保证程序的安全性: @pro...

  • 周一 2020-12-07 23:20 - 7:14 阴 10h

    2020-12-07 总结的一天,看视频看多了周一 2020-12-07 23:20 - 7:14 阴 10h16...

  • 事件日志(2020.12.7)

    时间:2020-12-07 一、事件&时间 1.邀请一位战友加入践行群(40分钟) 2.帮助邻居查违章(20分钟)...

  • 2020-12-07(2)

    问题: 1:H5交互识别不了(安卓和H5-之学习规划书-去设置不能点击安卓):最终结果body有问题 H5那边的问...

  • 蜘蛛花复打圈100sc3007

    原创 李大叔 清江风情 2020-12-07 图谱编号:ESB_TP_100_sc3007 直径:39.0~40....

  • 失恋30天

    2020-12-07~2021-1-07,我们已经分手整整30天。 对于题目是叫“失恋30天”,还是叫“分手30天...

  • 怎样批评孩子

    中原焦点团队 成长分享882天 2020-12-07 我们强调,教育孩子要和善而坚定。孩子有不当行为时,既不纵容也...

  • 2020-12-07靠自己

    人生就是这样了,事情,只能靠自己。 马上,老二生产在即,可是,我因为之前的认识不够,到现在了,才知道,整个云南只有...

  • 2020-12-07自我观察记录

    【2020-12-07日精进 第203天/1825】表现:8分 1.早起,完成年度目标新人版和进阶版的对比感悟。...

  • 三句诗

    三句诗 文/自然随心 繁华世间,真爱有三。 时光,残字与卿。 残字寂寥,惟愿卿与时光不老! 2020-12-07夜...

网友评论

      本文标题:2020-12-07(5)自己_2

      本文链接:https://www.haomeiwen.com/subject/utvxgktx.html