相关疑难解决方法(0)

方法和函数之间有什么区别?

有人可以在OOP上下文中提供方法函数的简单解释吗?

language-agnostic oop methods terminology function

1665
推荐指数
23
解决办法
67万
查看次数

Liskov替代原则的例子是什么?

我听说Liskov替换原则(LSP)是面向对象设计的基本原则.它是什么以及它的使用例子是什么?

oop liskov-substitution-principle definition design-principles solid-principles

845
推荐指数
24
解决办法
29万
查看次数

'闭包'和'lambda'有什么区别?

有人能解释一下吗 我理解它们背后的基本概念,但我经常看到它们互换使用,我感到困惑.

现在我们在这里,它们与常规功能有什么不同?

lambda closures functional-programming function

774
推荐指数
12
解决办法
12万
查看次数

Swift类中的静态vs类函数/变量?

以下代码在Swift 1.2中编译:

class myClass {
    static func myMethod1() {
    }
    class func myMethod2() {
    }
    static var myVar1 = ""
}

func doSomething() {
    myClass.myMethod1()
    myClass.myMethod2()
    myClass.myVar1 = "abc"
}
Run Code Online (Sandbox Code Playgroud)

静态函数和函数有什么区别?我应该使用哪一个,何时使用?

如果我尝试定义另一个变量class var myVar2 = "",它会说:

类中尚未支持的类存储属性; 你的意思是'静态'吗?

当支持这个特性时,静态变量和变量之间的区别是什么(即两者都是在类中定义的)?我应该使用哪一个,何时使用?

(Xcode 6.3)

variables static class function swift

398
推荐指数
8
解决办法
14万
查看次数

为什么在匿名类中只能访问最终变量?

  1. a只能在这里决赛.为什么?如何aonClick()不将其保留为私有成员的情况下重新分配方法?

    private void f(Button b, final int a){
        b.addClickHandler(new ClickHandler() {
    
            @Override
            public void onClick(ClickEvent event) {
                int b = a*5;
    
            }
        });
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 如何5 * a点击它返回?我的意思是,

    private void f(Button b, final int a){
        b.addClickHandler(new ClickHandler() {
    
            @Override
            public void onClick(ClickEvent event) {
                 int b = a*5;
                 return b; // but return type is void 
            }
        });
    }
    
    Run Code Online (Sandbox Code Playgroud)

java event-handling anonymous-class

341
推荐指数
7
解决办法
11万
查看次数

快速语言中的结构与类

来自Apple的书"结构和类之间最重要的区别之一是结构在代码中传递时总是被复制,但类是通过引用传递的."

任何人都可以让我理解这意味着什么,对我来说,类和结构似乎是一样的.

swift

184
推荐指数
6
解决办法
7万
查看次数

如何使用Swift @autoclosure

我注意到assert在Swift中编写第一个值时输入为

@autoclosure() -> Bool
Run Code Online (Sandbox Code Playgroud)

用重载方法返回一个通用T值,通过它来测试存在LogicValue protocol.

但严格坚持手头的问题.它似乎想要一个@autoclosure返回一个Bool.

编写一个不带参数并返回Bool的实际闭包不起作用,它要我调用闭包使其编译,如下所示:

assert({() -> Bool in return false}(), "No user has been set", file: __FILE__, line: __LINE__)
Run Code Online (Sandbox Code Playgroud)

然而,简单地通过Bool工作:

assert(false, "No user has been set", file: __FILE__, line: __LINE__)
Run Code Online (Sandbox Code Playgroud)

那么发生了什么?什么是@autoclosure

编辑: @auto_closure已重命名@autoclosure

closures swift

143
推荐指数
3
解决办法
3万
查看次数

使用Swift子类UIApplication

在Objective C中很简单:更新main.m文件并更改UIApplicationMain()参数就足够了

return UIApplicationMain(argc, argv, NSStringFromClass([CustomUIApplication class]), NSStringFromClass([AppDelegate class]));
Run Code Online (Sandbox Code Playgroud)

但是在swift中没有main.m文件,因为指南说

"在全局范围编写的代码用作程序的入口点,因此您不需要主函数."

那么,如何在swift中继承UIApplication?有什么建议吗?

cocoa-touch ios swift

88
推荐指数
1
解决办法
2万
查看次数

Swift:在调用中缺少参数标签'xxx'

func say(name:String, msg:String) {
    println("\(name) say \(msg)")
}

say("Henry","Hi,Swift")  <---- error because missing argument label 'msg' in call
Run Code Online (Sandbox Code Playgroud)

我需要用

   say("Henry",msg:"Hi,Swift")
Run Code Online (Sandbox Code Playgroud)

为什么?如果我在func中放入两个以上的var,这样当我调用这个函数时我需要编写var name而不是first var
它真的很麻烦,我在iBook Swift教程中没有看到任何解释.

ios swift

72
推荐指数
3
解决办法
3万
查看次数

逃离Swift中的闭包

我是Swift的新手,当我遇到逃脱闭合时,我正在阅读手册.我根本没有得到手册的描述.有人可以用简单的语言向我解释一下Swift中有什么逃避封锁.

closures swift

41
推荐指数
5
解决办法
1万
查看次数

Java内存模型 - 有人可以解释一下吗?

年复一年,我试图了解部分与内存模型和并发交易的Java规范.我不得不承认我惨遭失败.是的'我理解锁和"synchronized"以及wait()和notify().我可以使用它们,谢谢.我甚至对"易变"的含义有一个模糊的想法.但所有这些都不是来自语言规范 - 而是来自一般经验.

以下是我要问的两个示例问题.我对特定答案并不是那么感兴趣,因为我需要理解答案是如何从规范中得出的(或者可能是我如何得出规范没有答案).

  • "挥发性"究竟做了什么?
  • 写入变量原子?它取决于变量的类型吗?

java concurrency

28
推荐指数
3
解决办法
4136
查看次数

Functor和Monad有什么区别?

这里有类似的问题,但它们附加到特定的编程语言,我正在寻找概念层面的答案.

据我所知,Functors本质上是不可变的容器,它暴露了map() API,派生出另一个仿函数.哪个添加可以将特定的仿函数称为monad?

据我所知,每个monad都是一个仿函数,但不是每个仿函数都是monad.

monads functional-programming functor

13
推荐指数
2
解决办法
3284
查看次数

Swift中的属性和变量有什​​么区别?

从几个初始教程中,我看到属性属于一个类,并且基本上是C++世界中使用的"全局变量"(在此前编码).我还将变量看作更多只在方法中使用/存储信息的"本地"实体.

然后我遇到了这个Quora线程:https://www.quora.com/Apple-Swift-programming-language/What-is-the-difference-between-a-property-and-a-variable 现在我看到属性正在能够执行与其调用相关的代码.这很酷,但也为我打开了一大堆其他问题.

还有其他简单明了的方法来记住属性和变量之间的区别吗?

ios swift

2
推荐指数
2
解决办法
2543
查看次数