Objc在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
指针的学习 发布于:2024-03-22 10:36 oc正则测试 发布于:2024-03-21 15:15 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 发布于:2023-04-03 19:58 链表翻转 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 发布于:2023-04-03 19:47 objc学习 发布于:2023-02-13 19:17 文本字段的使用 发布于:2022-12-29 18:00 我试试维护计划我hi 发布于:2022-12-13 08:58 测试的了啦 发布于:2022-02-17 11:06 测试异常运行 发布于:2021-04-12 15:03 Objc : Core Fundation 竟然不能运行 发布于:2021-04-06 17:03 两数加减乘除,类方法 发布于:2021-03-15 20:49 Objc - 循环引用1 发布于:2021-02-26 17:13 hma_sha256脚本 发布于:2021-01-21 12:30 两数相加,类方法 发布于:2021-01-01 13:42 json 测试 发布于:2020-12-26 18:08 first objc demo 发布于:2020-08-27 18:09 first objc demo 发布于:2020-08-27 18:09 first objc demo 发布于:2020-08-27 18:07 [更多]
显示目录

Categories



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

Categories

虽然我们知道这样写很丑, 但是我们应该要在我们的 category 方法前加上自己的小写前缀以及下划线,比如- (id)zoc_myCategoryMethod。 这种实践同样被苹果推荐。

这是非常必要的。因为如果在扩展的 category 或者其他 category 里面已经使用了同样的方法名,会导致不可预计的后果。实际上,实际被调用的是最后被实现的那个方法。

如果想要确认你的分类方法没有覆盖其他实现的话,可以把环境变量 OBJC_PRINT_REPLACED_METHODS 设置为 YES,这样那些被取代的方法名字会打印到 Console 中。现在 LLVM 5.1 不会为此发出任何警告和错误提示,所以自己小心不要在分类中重载方法。

一个好的实践是在 category 名中使用前缀。

例子

@interface NSDate (ZOCTimeExtensions)
- (NSString *)zoc_timeAgoShort;
@end

不要这样做

@interface NSDate (ZOCTimeExtensions)
- (NSString *)timeAgoShort;
@end

分类可以用来在头文件中定义一组功能相似的方法。这是在 Apple的 Framework 也很常见的一个实践(下面例子的取自NSDate 头)。我们也强烈建议在自己的代码中这样使用。

我们的经验是,创建一组分类对以后的重构十分有帮助。一个类的接口增加的时候,可能意味着你的类做了太多事情,违背了类的单一功能原则。

之前创造的方法分组可以用来更好地进行不同功能的表示,并且把类打破在更多自我包含的组成部分里。


@interface NSDate : NSObject <NSCopying, NSSecureCoding>

@property (readonly) NSTimeInterval timeIntervalSinceReferenceDate;

@end

@interface NSDate (NSDateCreation)

+ (instancetype)date;
+ (instancetype)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;
+ (instancetype)dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)ti;
+ (instancetype)dateWithTimeIntervalSince1970:(NSTimeInterval)secs;
+ (instancetype)dateWithTimeInterval:(NSTimeInterval)secsToBeAdded sinceDate:(NSDate *)date;
// ...
@end
由JSRUN为你提供的Objc在线运行、在线编译工具
        JSRUN提供的Objc 在线运行,Objc 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout