在学习swift的一些笔记(八)

Swift中的接口


public protocol RunProntocol:NSObjectProtocol {

    var nameRun:String { get };
    
    // mutating :加上修饰符 修改结构体
    func run()
}

如上就是一个简单的接口定义遵守这个接口时一定要把接口内的内容实现:
class ViewController: UIViewController,RunProntocol{}

Swift中的类扩展(分类)


extension NSArray {
    
    public convenience init(object anObject: AnyObject)
    
    public convenience init(array: [AnyObject])
    public convenience init(array: [AnyObject], copyItems flag: Bool)
    
    public convenience init?(contentsOfFile path: String)
    public convenience init?(contentsOfURL url: NSURL)
}

最简单的 系统的数组的类扩展extension关键字 + 类名 + {}


自己写一个

extension UIView{
    
    // 获取控件最右边的点得值

    func right() -> (CGFloat){
    
        return self.frame.maxX
    }
    
    // 根据控件设置新的最右边的点值来改变x的值
    func setRight(right:CGFloat){
    
        let newRight = right - self.frame.maxX
        let rect:CGRect = self.frame
        self.frame = CGRect(x: rect.minX+newRight, y: rect.minY, width: rect.width, height: rect.height)
    

    }
}
     // 调用
     let view:UIView = UIView()
        
     view.frame = CGRect(x: 40, y: 40, width: 40, height: 40);
     // 调用自己写的类扩展方法
     view.setRight(200)
        
     view.backgroundColor = UIColor.blueColor()
        
     self.view.addSubview(view)

泛型

 func numTest<T>(var a:T,var b:T){
        
        print("交换前a的值\(a),b的值\(b)");
        let temp:T = a ;
        a = b;
        b = temp
        
        print("交换后a的值\(a),b的值\(b)");
    }

泛型函数<>中写代替的类型,不过大多数使用时都要遵守一个协议,还有泛型类,结构体,枚举

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,322评论 4 61
  • 136.泛型 泛型代码让你可以写出灵活,可重用的函数和类型,它们可以使用任何类型,受你定义的需求的约束。你可以写出...
    无沣阅读 5,435评论 0 4
  • 问题 1)柯里化,通过柯里化,改造target-action,因为selector只能使用字符串,在编译时无法发现...
    lanjing阅读 8,939评论 3 19
  • 第六章、再探,妖界故人 有时候那么多人围在一起却反而感觉很孤独,似乎在怀念曾经的日子,那个时候的我是什么样的呢,墨...
    灵舞阅读 1,404评论 0 0
  • 吴哥wjy阅读 988评论 4 4