Вы могли сделать это путем создания typealias
для NSError
, NSErrorRef
. Затем вы будете ссылаться на эти типы сообщений в своем классе, поскольку NSError
теперь будет ссылаться на свойство, а не на класс.
public typealias NSErrorRef = NSError
public class MyClass {
public var NSError:NSErrorRef {
return NSErrorRef(domain: "", code: 0, userInfo: nil)
}
}
Однако, я бы никогда не рекомендовать.
Я подозреваю, что единственная причина, по которой CGColor
названа так в заголовке Swift UIColor
, - это просто обеспечить совместимость с Objective-C. Что касается того, почему он работает без каких-либо запутанных ошибок, я не могу сказать. Хотя, если вы действительно посмотрите в документах UIColor
, вы увидите CGColor
is actually listed as cgColor
(когда выбран Swift), который показывает, что даже Apple думает, что он не определен правильно!
В любом случае в соглашении говорится, что свойства должны начинаться с буквы нижнего регистра (чтобы предотвратить такое замешательство в первую очередь). Таким образом, вы могли бы сделать это вместо:
public class MyClass {
public var nsError:NSError {
return NSError(domain: "", code: 0, userInfo: nil)
}
}
Или еще лучше, вы могли бы просто назвать свою собственность error
- префиксы должны быть редко используется в Swift в любом случае (если не нужно неоднозначности - что вы на самом деле, по всей видимости нужно сделать в твоем случае).
public class MyClass {
public var error:NSError {
return NSError(domain: "", code: 0, userInfo: nil)
}
}
подтвердил простой 'Foo' класса –