2016-01-13 46 views
0

在编辑objective-c为xcode时向函数添加调用时,通过参数标签突出显示仅值和设置它们很简单。如何让xcode在不丢失参数名称的情况下编辑SWIFT参数值?

objective-c works great

对于SWIFT然而,这两个参数的名称和值将突出显示,并试图设置的值删除参数名称。

SWIFT highlights both argument name and value

我如何获得的Xcode不突出,然后失去了争论的名字吗? [注意:xcode版本是7.1.1]

+0

这仅仅是关于你的例子中的'C'函数,还是这个用于'Swift'中的任何方法?这很重要,因为在'Swift'中使用'C'函数就像这样工作,你不能改变它。但是,您可以控制突出显示的内容以及您在“Swift”中创建的方法的内容。 – keithbhunter

回答

2

在您的示例中,选项卡的行为是正确的。参数名称应该在您构建呼叫时删除,因为它不是外部参数参数名称。

注声明:

public func CVPixelBufferCreateWithPlanarBytes(allocator: CFAllocator?, 
_ width: Int, 
_ height: Int, 
// ... 

_意味着外部名字都被抑制。这种方法被称为像C函数(只是一个逗号分隔的参数值序列) - 因为在现实中,它 C函数:

CV_EXPORT CVReturn CVPixelBufferCreateWithPlanarBytes(
    CFAllocatorRef CV_NULLABLE allocator, 
    size_t width, 
    size_t height, 
    // ... 
0

这取决于羯羊初始化或函数你打电话有外部名字或没有。如果外部名称存在,Tab键会让您为此外部名称发送参数。如果不存在,XCode自动完成显示内部名称,为了您的方便,但在initalizar /函数中,缺少外部名称意味着您只应发送值。

实施例:

class MyClass { 
    var myInt : Int 
    var myString : String 

    init(myInt: Int, myString: String) { 
     self.myInt = myInt 
     self.myString = myString 
    } 
} 

当调用上述初始化器,外部名称被设置为等于由默认的内部名称,对于所有初始参数,和的XCode将自动完成根据:

var a = MyClass(myInt:诠释, myString:字符串)

Wherea S为下面的例子:

func foo(_ a: Int, _ b: String) { 
// ... 
} 

没有外部名存在(通过_前缀,在函数签名内部名称supressed),并且调用函数时,的XCode将自动完成您展示的内部名称,但是标记全内部名称+值部分将被重写:

foo (一个的:int,b:字符串)

相关问题