小编Ant*_*ito的帖子

理解Swift 2.2选择器语法 - #selector()

我正在将我的项目语法切换到Swift 2.2(xCode帮助我自动完成); 但是,我不明白新的#selector()语法.

举个例子:

timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, 
             selector: #selector(MyVC.timerCalled(_:)), //new selector syntax!
             userInfo: nil, repeats: true)
Run Code Online (Sandbox Code Playgroud)

这有选择器 #selector(MyVC.timerCalled(_:))

_:意味着什么?你能在这个选择器中添加其他变量吗?说,#MyVC.timerCalled(_:whateverVar).

关于这种语法的不同之处的一般信息与早期版本的Swift中基于字符串的实现相反,我们非常感激.

selector swift swift2

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

将Apple应用内购买添加到Electron HTML/JS应用

有没有办法将Mac App Store应用内购买添加到Electron HTML/JS应用程序?有针对Phonegap,Nativescript,ImpactJS等应用程序商店模块,但我似乎无法找到任何电子或纯JS的东西.

javascript macos app-store in-app-purchase electron

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

在Swift Core Data中从多对多关系中获取对象

我一直在使用Swift在Core Data中使用to-many关系时遇到一些困难.

我的数据模型

在此输入图像描述

我想要做的是使用a的实例,Country然后显示Contacts该国家的所有公民.正如我一直在尝试这样做,我构建了一个UITableViewController,它将显示该国家的所有公民.但是我遇到了实际Contacts脱离关系的重大问题citizensOfCountry.这是我正在使用的代码(仅相关部分).

class ShowingCitizensOfCountry: UITableViewController {

     var countryToShow: Country?
     //This is a value that is passed by a prepareForSegue method
     override func viewDidLoad() {
          //how do I get a list/set/other iterable object of Contacts?

          //***Line in question***
          let listOfPeople = countryToShow!.citizensOfCountry

          for citizen in listOfPeople {
              println(citizen)//THIS IS NOT WORKING
          }

     }
Run Code Online (Sandbox Code Playgroud)

所以,这根本不起作用.现在在for循环中我得到一个编译错误Type 'Contacts' does not conform to protocol 'Sequence Type'.我不明白的是它只是类型联系...我会认为这将是某种集合.所以,那不行,所以我尝试了这个.

let listOfPeople = countryToShow!.citizensOfCountry as! [Contacts]
Run Code Online (Sandbox Code Playgroud)

这也不起作用,我得到错误 …

core-data one-to-many ios swift

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

修改指针在C++函数中指向的位置

我一直坚持修改指针指针.问题是我不明白为什么我的代码有效.我要做的是修改指针指向函数的位置.然后在我的main函数中访问该值.我尝试了很多尝试,这是我开始工作的唯一方法.

#include <iostream>
using namespace std;
void changePP(int **ppint) {
    int *n = new int;
    *n = 9; //just a value for demonstration purposes
    *ppint = n; //THE LINE IN QUESTION
    delete n;
}
int main() {
    int **ppint = NULL;
    int *p = new int;
    *p = 4; //another value for demonstrating
    ppint = &p;
    cout << **ppint << endl;
    changePP(ppint);
    cout << **ppint << endl;
}
Run Code Online (Sandbox Code Playgroud)

因此,输出为4,然后在单独的行上为9.但是,我不确定*ppint = n代码中的行.为什么我必须使用*更改ppint指向changePP函数的位置而不是主要?另外为什么我不必&在功能中使用?我似乎无法找到一个我能在互联网上理解的解释,我想知道是否有人可以为我解释这个?

c++ pointers

5
推荐指数
2
解决办法
3042
查看次数

MongoDB 中的字符串与数字比较效率

假设我通过一个任意字段进行查询,该字段category长度为四个字符,包含所有数字。

因此,它可能是'1234''2341''9999'等。

现在,如果我确定这个字符串的数字表示将大于或等于 1000 且小于或等于 9999,那么将这个字段设为 anumber而不是 astring会使查询更有效率吗?我相信数字比较比字符串比较更有效,但我不确定它是否会对查询性能产生任何明显的影响。我相信,string如果查询性能相同,使这个字段 a会更好,因为字段类别编号只是一个标识符,因此字符串更能描述正在发生的事情,但更好的查询性能更为重要。

因此,我的问题是,如果我在这个任意category字段上查询,通过字符串或数字查询会更有效还是无关紧要?

string numbers mongoose mongodb

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

Android Jetpack导航系统转换

在在例如在Android Jetpack的导航组件这里.我想知道在屏幕改变时是否可以使用默认系统动画(例如,在开始新活动时动画).这将在enterAnimexitAnim参数的上下文中.

android android-jetpack android-architecture-navigation

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

无法调用非函数类型的值'((AnyObject) - > AnyObject?)!' - 斯威夫特3

我想我目前的项目转换为斯威夫特3和正在运行到有关问题objectForKey,以objectFor转换.

myData的类型是 AnyObject

之前:

let x = myData.objectForKey('myKey')
Run Code Online (Sandbox Code Playgroud)

现在:

let x = myData.objectFor('myKey') // not working.
Run Code Online (Sandbox Code Playgroud)

在第二种情况下,XCode给我错误Cannot call value of non-function type '((AnyObject) -> AnyObject?)!',我不知道如何修复.

有谁知道如何更新objectForKey方法以及为什么这种转换不起作用?

其他例子

我在操场上创建了另一个例子来重现这个问题.使用的代码行粘贴在下面.运行此结果与上述错误相同.

var x: AnyObject = ["Hello" : "Goodbye"] as AnyObject
x.objectFor("Hello")
Run Code Online (Sandbox Code Playgroud)

swift swift3

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

Mongoose - 如果存在,则增加 Subdoc 上的字段,否则创建新的

我正在尝试做的事情。

我有一个userSchema包含operationCountSchema对象列表的对象。我想要做的是创建一个静态方法,count如果存在(由 a 标识month_id)字段,则更新这些操作计数子文档之一上的字段。如果operationCountSchema当月不存在文档,则应创建一个新文档。有没有办法在猫鼬中实现这种行为?我试过使用 upsert 无济于事。怎么做呢?谢谢。

代码

var operationCountSchema = mongoose.Schema({
    month_id: String,
    count: { type: Number, default: 0 }
}, {_id : false});

var userSchema = mongoose.Schema({
    username : { type: String, unique: true, required: true },
    email: { type: String, unique: true, required: true },
    password: String,
    operation_counts: [operationCountSchema]
});

userSchema.statics.incrementOperationCount = function(userID, callback) {
    var currDate = new Date();
    var dateIdentifier = currDate.getFullYear() + "-" + currDate.getMonth(); …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js

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

数组扩展,其中元素是Swift中的通用结构

如何扩展具有通用类型的结构数组?请查看以下代码以了解我要执行的操作。

struct MyStruct<T: MyProtocol> {
   ...
}

extension Array where Element: MyStruct<T> { // Not sure if T is supposed to be on this line.

    func doWork() -> [T] {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上,我将如何编写扩展以使方法返回传递给该结构的泛型类型的数组。

generics swift

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

Swift 2 中的 Parse.com 子类化

我的问题是关于一个似乎在 Swift 2 中不起作用的桥头。我将此代码海峡从 Parse.com iOS 指南复制到 xCode 中,看看它是否可以工作。

#import <Parse/PFObject+Subclass.h>

class Armor : PFObject, PFSubclassing {
    override class func initialize() {
        struct Static {
            static var onceToken : dispatch_once_t = 0;
        }
        dispatch_once(&Static.onceToken) {
            self.registerSubclass()
        }
    }

    static func parseClassName() -> String {
        return "Armor"
    }
}
Run Code Online (Sandbox Code Playgroud)

这不起作用。我在错误#import <Parse/PFObject+Subclass.h>行上收到错误Consecutive statements of a line must be separated by ';'。所以,我的问题是我将如何使用 Swift 2 在 Parse.com 中进行子类化。我环顾了互联网,但没有找到任何东西。我认为 Swift 导入桥头的方式可能发生了变化,但我完全不确定,因为我以前从未使用过桥头。所以,我可能会做一些愚蠢的事情。无论如何,非常感谢任何帮助。谢谢。

objective-c ios parse-platform swift

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