Objective-C和Swift,使用助理编辑。空属性

Objective-C和Swift,使用助理编辑。空属性,swift,objective-c,objective-c-swift-bridge,Swift,Objective C,Objective C Swift Bridge,我目前正在关注Paul Hudson的书Objective-C for Swift开发者 在一本书中的“可空性”一章中,我创建了一个类: #import <Foundation/Foundation.h> NS_ASSUME_NONNULL_BEGIN @interface PersonNullabilityCheck : NSObject @property NSString *name; - (instancetype)initWithName:(NSString*)name

我目前正在关注Paul Hudson的书Objective-C for Swift开发者

在一本书中的“可空性”一章中,我创建了一个类:

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface PersonNullabilityCheck : NSObject @property NSString *name;
- (instancetype)initWithName:(NSString*)name;
- (NSString*)fetchGreetingsForTime:(NSString*)time; @end

NS_ASSUME_NONNULL_END
这里的一切都是隐式展开的

然而,当我做同样的事情时,我可以看到:

import Foundation

open class PersonNullabilityCheck : NSObject {

    open var name: String

    public init(name: String)

    open func fetchGreetings(forTime time: String) -> String
}
我想,自从这本书出版以来,一些新的、更好的技术被开发出来来处理可空性


如果有人能告诉我区别在哪里,以及如何阅读,我将不胜感激。非常感谢

好吧,我明白了,答案就在那里,我没有注意到

NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_END
这些与本书版本不同的代码行使每个元素自动不可为空。因此,我假设我不必担心进行手动检查,但是如果我想使某些内容不可为null,我需要手动添加它

谢谢

NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_END