小编Bla*_*ard的帖子

UIApplicationDelegate在Swift应用程序中没有名为managedObjectContext的成员

我想在我的Swift iOS应用程序中使用Core Data,但是如何从任何ViewControllers中调用Core Data的managedObjectContext?

假设我想调用在Objective-C中经常使用的这个方法:

self.managedObjectContext = ((AppDelegate *) [UIApplication sharedApplication].delegate).managedObjectContext;
Run Code Online (Sandbox Code Playgroud)

但是,当我在Swift文件中编写以下代码时,它收到了错误:UIApplicationDelegate does not have a member called managedObjectContext.

var appDelegate = UIApplication.sharedApplication().delegate
println(appDelegate.managedObjectContext)
Run Code Online (Sandbox Code Playgroud)

为什么会出错?因为我在创建应用程序时检查了Core Data,所以模板自动在AppDelegate.swift文件中定义了managedObjectContext变量.

那么缺少什么?我使用Xcode 6 beta 5.

core-data uiapplicationdelegate ios swift

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

无法在Swift中使用CGRect类型的参数调用+

我想UITableViewCGRectMake函数启动一个实例,但是当我尝试使用常量启动它而不是直接指定一个新的Int,例如:

UITableView(frame: CGRectMake(20, HEIGHT_OF_STATUS_AND_NAVIGATION_BAR + 120, tableWidth, tableHeight)
Run Code Online (Sandbox Code Playgroud)

,然后我收到一个错误:Int is not convertible to CGFloat.

所以我将其更改为以下代码:

UITableView(frame: CGRectMake(20, (HEIGHT_OF_STATUS_AND_NAVIGATION_BAR + 120) as CGFloat, tableWidth as CGFloat, tableHeight as CGFloat)) // `tableWidth` and `tableHeight` are both of type `Int`.
Run Code Online (Sandbox Code Playgroud)

,然后我收到一个错误:Cannot invoke + with an argument of type CGRect.

当然,我可以通过分配来启动它Int,例如CGRectMake(20 + 300 + 12, 44 + 120, 300, 480).但我想使用常量和变量.

那么错误是什么意思呢?我该如何解决?

我使用Xcode 6 beta 6.

cgrect cgrectmake swift xcode6

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

Node.js上的MongoDB不起作用,返回undefined

在以下代码中:

var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/db_name', function(err, db){
    if (err) throw err;

    var collection = db.collection('col_name');
    console.log(collection.find().toArray(function(err, items){}));

});
Run Code Online (Sandbox Code Playgroud)

当我运行上面的内容时,它不会返回任何结果而是返回undefined.我错过了什么?

另外,为了确认db上有一些集合,我试图添加console.log(db.getCollectionNames());,但看起来它在Node.js驱动程序中没有这样的方法.那么仍然可以确认收藏品的存在吗?(无论如何我只是想在这些情况下使用它作为调试 - 通常我不需要这个方法).

谢谢.

mongodb node.js

0
推荐指数
1
解决办法
4374
查看次数

升级到Vim 7.4后撤消不工作

我刚刚升级到Vim的7.4,但它看起来像当我被删除的单词或句子xD,并试图解开它,我不能与消息撤消:Already at newest change.重做也没有用.为什么?我已经使用OS X内置的Vim(7.3)多年,并且没有与undo/redo相关的问题.

那么我该如何解决呢?或者在7.4中撤消和重做已经不存在了?最后,将我的文件恢复到删除之前的状态是否可行?

vim

0
推荐指数
1
解决办法
494
查看次数

如何从 tableView 中获取索引号:cellForRowAtIndexPath:使用`indexPath` 参数?

我想更改 的backgroundColorUITableViewCell因此想要获取每个表视图单元格的索引号,因为我还想更改这些单元格相对于其索引号的颜色。

但是,如何从内部获取索引号tableView: cellForRowAtIndexPath:?例如,在以下代码中(在 内tableView: cellForRowAtIndexPath:):

let numberOfCell = indexPath.length // always returns 2, even if I add more cells
println(indexPath) // returns <NSIndexPath: 0xc000000000000016> {length = 2, path = 0 - 0}
for i in 0..<numberOfCell {
    let alpha = CGFloat(1.0 - Double(i) / 10.0)
    cell.backgroundColor = UIColor(red: 227/256, green: 245/256, blue: 61/256, alpha: alpha)
}

return cell
Run Code Online (Sandbox Code Playgroud)

我想alpha根据索引号更改每个单元格的值,但上面的代码使所有单元格的值都alpha1.0,因为numberOfCell始终是2,即使我的表视图有四个对象。我不确定为什么它总是返回2。我添加了更多单元格,但结果没有改变。 …

uitableview nsindexpath ios swift

0
推荐指数
1
解决办法
3315
查看次数

让“didSelectRowAtIndexPath”不只在单元格内的图像被点击时调用(但以其他方式调用)?

我想在我的 上放置一个图像UITableViewCell,并在用户点击单元格时将单元格移动到详细信息视图控制器。但是,当用户点击仅放在单元格部分的图像时,我也想让单元格不移动到细节 VC。该单元格如下所示:

[cell.textLabel     myImage    accessoryType] <- UITableViewCell
Run Code Online (Sandbox Code Playgroud)

但是,当我像下面这样实现我的代码时,当用户点击单元格时,她必须移动到细节 VC,即使她点击图像覆盖的微小部分。didSelectRowAtIndexPath:当她点击图像时是否可以禁用?

tableView:didSelectRowAtIndexPath:

var cell = self.tableView.dequeueReusableCellWithIdentifier(CellReuseIdentifier, forIndexPath: indexPath) as! UITableViewCell

var list = listArray[indexPath.row]
cell.textLabel?.text =  list.name

cell.accessoryType = UITableViewCellAccessoryType.DetailButton
let image = UIImage(named: "myImage.png")
var imageView = UIImageView(image: image)
imageView.frame = CGRectMake(280, 4, 36, 36)
cell.addSubview(imageView)

return cell
Run Code Online (Sandbox Code Playgroud)

我试过了,imageView.userInteractionEnabled = false但结果没有改变。

另请注意,图像不是附件视图,因为我也想使用附件类型(两者都不能使用),因此您不能使用tableView:accessoryButtonTappedForRowWithIndexPath:委托方法。

uitableview didselectrowatindexpath ios swift

0
推荐指数
1
解决办法
474
查看次数