小编use*_*008的帖子

确定变量是否在Python中定义

可能重复:
检查变量是否在python中定义的简单方法?
如何检查Python中是否存在变量?

您如何知道变量是否已在运行时在代码中的特定位置设置?这并不总是显而易见的,因为(1)变量可以有条件地设置,(2)变量可以有条件地删除.我正在寻找像defined()Perl isset(),PHP或defined?Ruby中的东西.

if condition:
    a = 42

# is "a" defined here?

if other_condition:
    del a

# is "a" defined here?
Run Code Online (Sandbox Code Playgroud)

python variables defined

380
推荐指数
6
解决办法
60万
查看次数

将数组传递给Swift中具有可变数量的args的函数

Swift编程语言中,它说:

函数也可以采用可变数量的参数,将它们收集到一个数组中.

  func sumOf(numbers: Int...) -> Int {
      ...
  }
Run Code Online (Sandbox Code Playgroud)

当我用逗号分隔的数字列表(`sumOf(1,2,3,4))调用这样的函数时,它们可以作为函数内的数组使用.

问:如果我已经有一个数字数组要传递给这个函数怎么办?

let numbers = [1, 2, 3, 4]
sumOf(numbers)
Run Code Online (Sandbox Code Playgroud)

这会因编译器错误而失败,"无法找到接受所提供参数的'__conversion'的重载".有没有办法将现有数组转换为可以传递给可变函数的元素列表?

variadic-functions swift

141
推荐指数
4
解决办法
7万
查看次数

如何使用performSelector:withObject:afterDelay:在Cocoa中使用原始类型?

NSObject方法performSelector:withObject:afterDelay:允许我在一定时间后用对象参数调用对象上的方法.它不能用于具有非对象参数的方法(例如,整数,浮点数,结构,非对象指针等).

使用非对象参数的方法实现同样的事情的最简单方法是什么?我知道,对于常规performSelector:withObject:,解决方案是使用NSInvocation(顺便说一句,这真的很复杂).但我不知道如何处理"延迟"部分.

谢谢,

cocoa objective-c

96
推荐指数
7
解决办法
14万
查看次数

如何在启用Bitcode的情况下xcodebuild一个静态库?

Xcode 7引入了Bitcode,这是一种LLVM中间二进制文件,这意味着Apple的服务器可以在不参与的情况下为不同的架构重新编译我的应用程序.

在Lookback中,我使用我们的库分发静态存档框架.似乎当你用"Build&Archive"构建任何东西时,bitcode实际上并没有发布到我的库中,任何在我们的应用程序中与我的库链接并尝试使用Bitcode进行构建和存档的人将获得其中一个两个警告:

  • ld: 'Lookback(Lookback.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. (如果lib是使用Xcode 6构建的)
  • ld: warning: full bitcode bundle could not be generated because 'Lookback(Lookback.o)' was built only with bitcode marker. The library must be generated from Xcode archive build with bitcode enabled (Xcode setting ENABLE_BITCODE) (如果lib是使用带有正常xcodebuild的Xcode 7构建的)

我有一个构建脚本,构建一个设备+模拟器通用二进制文件,所以我不能使用Build&Archive,而是xcodebuild从我的脚本从命令行运行.如何xcodebuild生成适当的bitcode启用库?

xcode ios xcode7 bitcode

82
推荐指数
4
解决办法
4万
查看次数

6.0之前的iOS版本不支持-fembed-bitcode

最近我下载了xcode 7 beta并面临错误:

6.0之前的iOS版本不支持-fembed-bitcode

是否有任何解决方法可以解决此问题而无需更改部署目标?

提前致谢.

xcode objective-c ios bitcode

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

从AnyObject扩展的协议和仅类协议之间有什么区别?

这两个宣言

protocol SomeProtocol : AnyObject {
}
Run Code Online (Sandbox Code Playgroud)

和这个宣言

protocol SomeProtocol : class {
}
Run Code Online (Sandbox Code Playgroud)

似乎使它只有类可以符合这个协议(即协议的实例是对象的引用),并没有其他效果.

它们之间有什么区别吗?一个人应该优先于另一个吗?如果没有,为什么有两种方法可以做同样的事情?

我正在使用最新发布的Xcode 6.3.1.

protocols class swift

49
推荐指数
5
解决办法
6358
查看次数

替代Swift中的performSelector?

Swift中没有这类performSelector方法.那么如何在一个对象上调用一个方法,在运行时选择要调用的方法,而在编译时不知道?显然在Swift中也没有.@objcNSInvocation

我知道在Swift中,你可以向类型发送任何方法(@objc方法声明可见)AnyObject,类似于idObjective-C.但是,这仍然需要您在编译时对方法名称进行硬编码.有没有办法在运行时动态选择它?

performselector swift

46
推荐指数
7
解决办法
5万
查看次数

Ruby在嵌套函数中访问外部变量

我相信这有一个简单的答案; 我似乎无法找到它.我在Ruby中创建了一个嵌套函数,但我无法从内部函数内部的外部函数访问变量:

def foo(x)
  def bar
    puts x
  end
  bar
  42
end

foo(5)
Run Code Online (Sandbox Code Playgroud)

我得到:NameError: undefined local variable or methodx'为main:Object`

类似的Python代码有效:

def foo(x):
  def bar():
    print x
  bar()
  return 42

foo(5)
Run Code Online (Sandbox Code Playgroud)

那么我如何在Ruby中做同样的事情呢?

ruby scope nested

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

你如何从Swift调用Objective-C可变方法?

假设我在Objective-c中有一个类,其静态方法如下:

+ (NSError *)executeUpdateQuery:(NSString *)query, ...;
Run Code Online (Sandbox Code Playgroud)

我如何从Swift中调用它?自动完成功能无法识别它,编译器对以下内容不满意:

MyClassName.executeUpdateQuery("")
Run Code Online (Sandbox Code Playgroud)

抱怨'MyClassName.Type没有名为executeUpdateQuery的成员'

objective-c variadic-functions swift

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

禁用Google App Measurement调试日志记录

在Xcode 7.2上,如何禁用这些调试/应用程序测量intempestive显示:

2016-01-07 11:52:53.085 MyApp[1457:] <GMR/INFO> App measurement v.1302000 started
2016-01-07 11:52:53.091 MyApp[1457:] <GMR/INFO> To enable debug logging set the following application argument: -GMRDebugEnabled (see http://goo.gl/Y0Yjwu)
2016-01-07 11:52:53.091 MyApp[1457:] <GMR/DEBUG> Debug logging enabled
2016-01-07 11:52:53.092 MyApp[1457:] <GMR/DEBUG> App measurement is monitoring the network status
2016-01-07 11:52:53.188 MyApp[1457:] <GMR/DEBUG> App measurement is ready to receive events
2016-01-07 11:52:53.201 MyApp[1457:] <GMR/DEBUG> No network. Upload task will not be scheduled
2016-01-07 11:52:53.202 MyApp[1457:] <GMR/DEBUG> Scheduling user engagement timer
2016-01-07 11:52:53.202 MyApp[1457:] <GMR/DEBUG> Timer …
Run Code Online (Sandbox Code Playgroud)

debugging xcode

25
推荐指数
1
解决办法
5857
查看次数