Tag: swift

三angularUIView – Swift

所以我正在制作一个游戏,在这个游戏中,我要扔掉一个用户在屏幕底部被一个尖峰(三angular形)摧毁的物体。 我无法弄清楚如何制作一个三angular形的UIView。 不过,我已经能够使它像这样的矩形工作: let barrier = UIView(frame: CGRect(x:125, y: 650, width: 130, height:20)) barrier.backgroundColor = UIColor.orangeColor() view.addSubview(barrier) 而这一直奏效。 但我无法弄清楚如何制作一个三angular形。 我希望它作为一个UIView的原因是因为即时通讯使用冲突和用户移动它。 我尝试过一个PNG三angular形,但它将碰撞检测为图像的边界,而不是三angular形的起点。 我已经尝试过,但它不工作… let square = UIView(frame: CGPathMoveToPoint(path, nil, 50, 0), CGPathAddLineToPoint(path, nil, 100, 50), CGPathAddLineToPoint(path, nil, 0, 100)) square.backgroundColor = UIColor.purpleColor() view.addSubview(square) 任何和所有的帮助将不胜感激, 谢谢, 亚历克斯

内存泄漏与大型核心数据批量插入在Swift中

我将数以万计的对象插入到我的核心数据实体中。 我有一个单独的NSManagedObjectContext ,每次添加对象时,我都会在托pipe对象上下文中调用save() 。 它可以工作,但在运行时,内存从大约27M增加到400M。 即使导入完成后,它仍然保持在400M。 有许多关于批量插入的SO问题,大家都说要读取Efficiently Importing Data ,但是在Objective-C中,我很难在Swift中find解决这个问题的实例。

Swift:64位整数的随机数?

所以,在我目前的项目中,我需要使用64位整数,我需要抓取高达1000亿的随机数。 arc4random()/ arc4random_uniform()仅适用于无符号的32位整数。 我可能会稍微调整一下,因为每次通话的最小/最大范围可能不会超过20亿,但是如果我决定这样做,我希望能够保证自己的未来,我需要更广泛的范围。 有什么build议?

iOS中的Swift中的自定义SceneKit几何不工作,但等价的目标C代码

我一直使用这个网站,但这是我的第一个问题。 我渴望采用新的Swift语言,因为这似乎是苹果公司发展的方向。 我也对iOS 8中的新SceneKit支持留下了深刻的印象。我想在运行时以编程方式创build自定义几何体,但是我正在努力使Swift代码正常工作。 然而Objective C中的等价代码工作正常。 这可能是一个错误,或者我做错了什么。 我只是试图创build和呈现一个单一的三angular形。 为了简单起见,我将忽略法线和纹理等。 所以我只希望看到一个黑色的三angular形。 Swift代码(不工作) var verts = [SCNVector3(x: 0,y: 0,z: 0),SCNVector3(x: 1,y: 0,z: 0),SCNVector3(x: 0,y: 1,z: 0)] let src = SCNGeometrySource(vertices: &verts, count: 3) let indexes:Int[]=[0,1,2] let dat = NSData(bytes: indexes, length: sizeofValue(indexes)) let ele = SCNGeometryElement(data:dat, primitiveType: .Triangles, primitiveCount: 1, bytesPerIndex: sizeof(Int)) let geo = SCNGeometry(sources: [src], […]

如何从另一个class级访问IBOutlet

我想知道如何访问另一个类中声明的@IBOutlet 例如,我有一个名为myfirstview的类 class MyFirstView: UIViewController { @IBOutlet var lblred: UILabel! = UILabel() } 我想从另一个.swift文件中另一个名为MySecondView类中更改lblred的文本: class MySecondView: UIViewController { func modify() { let mfv = MyFirstView() mfv.lblred.text = "Hello" } } 但没有任何反应。 我连接了一个故事板标签lblred 。 我在网上search了很多关于这方面的信息,但找不到能解决我的问题的方法。 请帮我解决这个问题。 谢谢。

使用iOS 8应用程序组在两个应用程序之间共享数据(使用NSUserDefaults)

我想知道是否可以在新的iOS 8function之间共享应用程序之间的数据:应用程序组(使用NSUserDefaults) – 或者如果应用程序组只共享主应用程序和其扩展之间的数据? 实际上,我在两个应用程序之间启用了应用程序组function,这些应用程序应该共享它们之间的数据(它们属于同一家公司)。 他们也有相同的应用程序组的东西(如group.com.company.myApp)。 这是第一个代码(在Swift中) NSUserDefaults.standardUserDefaults().setBool(true, forKey:"Bool") NSUserDefaults.standardUserDefaults().synchronize() 这里是第二个代码(在Objective-C中) NSUserDefaults *datas = [[NSUserDefaults alloc] initWithSuiteName:@"group.com.company.myApp"]; NSLog(@"%@", [datas boolForKey:@"Bool"]); 可悲的是,布尔总是返回零。 如果有人有解决scheme:) 谢谢

如何在UITextView中显示可点击的链接

我试图显示一个UITextview与可点击链接的属性string。 我创build了一个简单的testing项目,看看我哪里出错了,仍然不知道。 我已经尝试启用用户交互和设置shouldInteractWithURLs委托方法,但它仍然无法正常工作。 这是我的代码(只包含一个文本视图的视图控制器) @IBOutlet weak var textView: UITextView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let string = "Google" let linkString = NSMutableAttributedString(string: string) linkString.addAttribute(NSLinkAttributeName, value: NSURL(string: "https://www.google.com")!, range: NSMakeRange(0, string.characters.count)) linkString.addAttribute(NSFontAttributeName, value: UIFont(name: "HelveticaNeue", size: 25.0)!, range: NSMakeRange(0, string.characters.count)) textView.attributedText = linkString […]

停留在Swift和MapKit中使用MKPinAnnotationView()

我有一个工作循环来设置一些工作数据点的标题和字幕元素的注释。 我想在同一个循环结构中做的是将引脚颜色设置为紫色而不是默认值。 我无法弄清楚是我需要做什么来挖掘我的地图视图相应地设置引脚。 我的工作循环和一些尝试… …. for var index = 0; index < MySupplierData.count; ++index { // Establish an Annotation myAnnotation = MKPointAnnotation(); … establish the coordinate,title, subtitle properties – this all works self.theMapView.addAnnotation(myAnnotation) // this works great. // In thinking about PinView and how to set it up I have this… myPinView = MKPinAnnotationView(); myPinView.animatesDrop […]

警告:UICollectionViewFlowLayoutcaching了索引path'abc'的帧不匹配

这是导致警告的代码: private override func layoutAttributesForItemAtIndexPath(indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes? { let attributes = super.layoutAttributesForItemAtIndexPath(indexPath) let distance = CGRectGetMidX(attributes!.frame) – self.midX; var transform = CATransform3DIdentity; transform = CATransform3DTranslate(transform, -distance, 0, -self.width); attributes!.transform3D = CATransform3DIdentity; return attributes } 控制台还打印: 这可能是因为stream布局“xyz”正在修改由UICollectionViewFlowLayout返回的属性而不复制它们。 我如何解决这个警告?

无法将types'UITableViewCell'的值转换为'(AppName)。(CustomCellName)'

我目前正在尝试使用xCode 6.3 swift 1.2创build自定义表格视图单元格。 出于某种原因在cellforRowAtIndexPath方法,我似乎无法设置我的单元格variables。 代码会编译,但是当这行代码命中时: var cell:MessageCell = tableView.dequeueReusableCellWithIdentifier("messageCell") as! MessageCell 我得到这个错误:无法将types'UITableViewCell'(0x1112f5a18)的值转换为'CampusExchange.MessageCell'(0x10e8318f0)。 以下是我的完整方法:(如果您想知道如何设置消息,我正在使用Parse) func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { var cell:MessageCell = tableView.dequeueReusableCellWithIdentifier("messageCell") as! MessageCell let message = messagesArray[indexPath.row]["Message"] as? String cell.messageOutlet.text = message return cell } 感谢您的任何帮助。 我似乎无法得到这个工作。