我正在开发一个iPhone应用程序。 在一个标签中,我想显示一个用户名的第一个字母大写。 我怎么做?
现在我有两个视图控制器。 我的问题是我不知道如何将更改后的button隐藏到第二个视图控制器。 主要是我在Objective-C中find的引用。 我如何快速编码? 在objective-c中隐藏后退button代码 [self.navigationItem setHidesBackButton:YES animated:YES];
苹果文档指出: 要join外观代理API,请使用UI_APPEARANCE_SELECTOR在标题中标记外观属性select器。 在Objective-C中,可以使用UI_APPEARANCE_SELECTOR注释属性,如下所示: @property (nonatomic, strong) UIColor *foregroundColor UI_APPEARANCE_SELECTOR; 我如何在Swift中做同样的事情?
var data: NSDictionary = NSJSONSerialization.JSONObjectWithData(responseData, options:NSJSONReadingOptions.AllowFragments, error: error) as NSDictionary; 这行代码给我错误 NSError is not convertable to NSErrorPointer. 所以我想把代码改成: var data: NSDictionary = NSJSONSerialization.JSONObjectWithData(responseData, options:NSJSONReadingOptions.AllowFragments, error: &error) as NSDictionary; 这会把NSError错误变成一个NSErrorPointer。 但是,我得到一个新的错误,无法理解它: NSError! is not a subtype of '@|value ST4'
如何从给定的文件pathstring获取文件名? 例如,如果我有一个文件pathstring file:///Users/DeveloperTeam/Library/Developer/CoreSimulator/Devices/F33222DF-D8F0-448B-A127-C5B03C64D0DC/data/Containers/Data/Application/5D0A6264-6007-4E69-A63B-D77868EA1807/tmp/trim.D152E6EA-D19D-4E3F-8110-6EACB2833CE3.MOV 我想得到的结果为 trim.D152E6EA-D19D-4E3F-8110-6EACB2833CE3.MOV 感谢您的帮助。
有没有办法在类级别或结构级别在swift中添加方法? struct Card { var rank: Rank var suit: Suit func simpleDescription() -> String { return "The \(rank.simpleDescription()) of \(suit.simpleDescription())" } } 摘录自:苹果公司“Swift编程语言”,iBooks。 https://itun.es/us/jEUH0.l 现在,如果你想添加一个方法来创build一副完整的卡片,那么完成它的最好方法是什么?
如何删除可选字符 let color = colorChoiceSegmentedControl.titleForSegmentAtIndex(colorChoiceSegmentedControl.selectedSegmentIndex) println(color) // Optional("Red") let imageURLString = "http://hahaha.com/ha.php?color=\(color)" println(imageURLString) //http://hahaha.com/ha.php?color=Optional("Red") 我只是想输出“ http://hahaha.com/ha.php?color=Red ” 我能怎么做? 嗯….
我想实现一个Swift方法,它接受某个类的types,但只接受那些符合特定协议的类的实例。 例如,在Objective-C中我有这样的方法: – (void)addFilter:(GPUImageOutput<GPUImageInput> *)newFilter; 其中GPUImageOutput是一个特定的类, GPUImageInput是一个协议。 只有符合此协议的GPUImageOutput类才是此方法的可接受input。 但是,上面的自动Swift生成版本是 func addFilter(newFilter: GPUImageOutput!) 这消除了GPUImageOutput类遵循GPUImageInput协议的要求,该协议将允许传入不合规的对象(然后在运行时崩溃)。 当我试图将其定义为GPUImageOutput<GPUImageInput> ,编译器会引发错误 无法专门化非genericstypes“GPUImageOutput” 我将如何在Swift中的参数中进行这样的类和协议专门化?
在Object-C中,我将类对象存储在一个数组中,并像这样dynamic地初始化它们: self.controllers=@[[OneViewController class],[TwoViewController class]]; Class clz = self.controllers[index]; UIViewController *detailViewController = [[clz alloc] init]; 在斯威夫特我尝试这种方式,但它引发了一个错误: var controllers:AnyClass[] = [OneViewController.self,TwoViewController.self] var clz : AnyClass = controllers[index] var instance = clz() // Error:'AnyObject' is not constructible with () 我不知道是否有办法将AnyClass转换为特定的类? 还是其他好主意?
在Swift中,默认情况下,结构体和值types是按值传递的,就像在C#中一样。 但是C#也有一个非常有用的ref关键字,它强制参数被引用传递,以便相同的实例可以在函数内部被改变,然后从调用者的作用域访问。 有没有办法在Swift中实现相同的结果?