我在调试Swift Strings时遇到问题
func stringTest() {
let test1:String = "test1";
let test2:NSString = "test2";
// <-- Breakpoint here
println(test1);
println(test2);
}
Run Code Online (Sandbox Code Playgroud)
如果我在这些行之后设置断点并尝试打印test1,则会出现以下错误:
po test1
error: <REPL>:1:1: error: use of unresolved identifier 'test1'
test1
^
Run Code Online (Sandbox Code Playgroud)
但我能够成功打印test2:
po test2
test2
Run Code Online (Sandbox Code Playgroud) 我在Swift中创建符合协议的扩展时遇到了问题.
在Objective-C中,我可以创建一个符合协议的类别:
SomeProtocol.h
@protocol SomeProtocol
...
@end
Run Code Online (Sandbox Code Playgroud)
UIView的+类别名称
#import SomeProtocol.h
@interface UIView (CategoryName) <SomeProtocol>
...
@end
Run Code Online (Sandbox Code Playgroud)
我试图通过Swift扩展实现相同的功能
SomeProtocol.swift
protocol SomeProtocol {
...
}
Run Code Online (Sandbox Code Playgroud)
UIView扩展
import UIKit
extension UIView : SomeProtocol {
...
}
Run Code Online (Sandbox Code Playgroud)
我收到以下编译器错误:
类型'UIView'不符合协议'SomeProtocol'