小编Esq*_*uth的帖子

如何在swift中强调UILabel?

如何UILabel在Swift中强调一下?我搜索了Objective-C但却无法让它们在Swift中工作.

uilabel ios swift

76
推荐指数
8
解决办法
9万
查看次数

如何检查用户是否允许使用相机?

试着写这个:

if usergavepermissiontousercamera  
  opencamera
else 
  showmycustompermissionview
Run Code Online (Sandbox Code Playgroud)

找不到当前的方法来完成这个简单的任务.
注意:即使需要不同的方法,也应该使用iOS7

ios swift

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

如何在PhpStorm中打开最近关闭的文件?

我正在寻找在PhpStorm中打开最近关闭的文件的快捷方式.

我知道一些类似的快捷方式,但我正在寻找与Ctrl + Shift + T浏览器相同的命令...

phpstorm webstorm

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

如何在全球范围内导入Swift框架?

我希望有一种方法可以在每个类中全局导入我的Swift Cocoapods,我怎样才能实现这一目标?

我尝试了很多东西而且没用.以下是一些我没有尝试过的方法,如果找到了解决方法,可能会想到:

有一个像UIKit这样的一般导入语句,并将所有内容放在那里.(编辑:失败了)

不知怎的把Swift框架放在Obj-C briding header中并导入那里的东西.

ios swift

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

Android SQLite数据库,为什么删除表并在升级时重新创建

在我正在关注的教程和我看到的更多地方,onUpgrade - > drop table if exists,然后重新创建表.

这样做的目的是什么?

private static class DbHelper extends SQLiteOpenHelper{

    public DbHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
                KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                KEY_NAME + " TEXT NOT NULL, " +
                KEY_HOTNESS + " TEXT NOT NULL);"
        );  
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE); …
Run Code Online (Sandbox Code Playgroud)

database sqlite android drop-table database-update

29
推荐指数
2
解决办法
4万
查看次数

Swift通过引用传递结构?

我看过类似的问题,但我没有看到我满意的答案.

是否可以或建议通过引用传递结构?如果是这样的话?

以下是代码作为示例的参考:

struct MyData {
    var contentId: Int = 0
    var authorId: Int = 0
    var image: UIImage = UIImage(named: "myimage")
}
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我这样做的主要原因是因为没有让我的图像遍布整个地方.

struct ios swift

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

SKStoreReviewController如何检测用户已关闭评价此应用程序(RTA)在设置或3倍限制已达到?

从iOS 10.3开始,Apple将评论提示(评级此应用程序)限制为每年3次,并且可以在用户设置中关闭它.

问:我们如何检测到3次限制已经达到或者用户是否关闭了RTA所以在应用程序中我不会显示弹出窗口:"你喜欢这个应用程序吗?如果是的话,你能写一篇评论吗? [是/否]"因为那时,如果用户点击是,则不会显示任何内容.

官方文档中的信息确实不多:https://developer.apple.com/reference/storekit/skstorereviewcontroller

虽然在应用程序的用户体验流程中有意义时应调用此方法,但评级/审阅请求视图的实际显示由App Store策略控制.由于此方法可能会或可能不会显示警报,因此响应按钮点击或其他用户操作来调用它是不合适的.

ios skstorereviewcontroller ios10.3

16
推荐指数
2
解决办法
7439
查看次数

嵌套函数在swift中的实际用途是什么?

嵌套函数的实际用途是什么?它只会使代码更难阅读,并且不会使特定情况变得容易.

func chooseStepFunction(backwards: Bool) -> (Int) -> Int {
    func stepForward(input: Int) -> Int { return input + 1 }
    func stepBackward(input: Int) -> Int { return input - 1 }
    return backwards ? stepBackward : stepForward
}
Run Code Online (Sandbox Code Playgroud)

资源

function swift

15
推荐指数
2
解决办法
5093
查看次数

Swift 4:无法将类型'(_) - >()'的值转换为预期的参数类型'() - >()'或传递给不带参数的调用的参数

使用XCode 9,Beta 3. Swift 4.

statsView.createButton("Button name") { [weak self] Void in
   //stuff stuff
   self?.doSomething()
}
Run Code Online (Sandbox Code Playgroud)

我得到了这样的数百个错误,如何修复它们?

错误:

Cannot convert value of type '(_) -> ()' to expected argument type '() -> ()'

Argument passed to call that takes no arguments
Run Code Online (Sandbox Code Playgroud)

closures swift swift4

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

为什么iOS会在应用更新时获得新的identifierForVendor?

每次我的应用程序从App Store更新时,由于某种原因,少数用户会获得新的identifierForVendor.我的用户没有注册或登录.它们都是匿名的,因此我需要通过供应商ID将它们分开.

我认为在某些设备上可能没有足够的空间,导致应用程序被删除并重新安装,但事实并非如此,因为在上一次更新中,我的一个朋友有超过2GB的空闲空间.

我知道删除并重新安装应用程序的用户更改了identifierForVendor.但这不是这里的情况,因为应用程序刚刚更新.

问题是什么?奇怪的是,尚未发现开发团队设备.或者仍然有用户在无数的应用更新,操作系统更新等之后没有遇到此错误.这只发生在一小部分用户身上.所有用户都是iOS7 +,它适用于不同的设备型号和iOS版本.

我使用此代码获取其ID:

static let DeviceId = UIDevice.currentDevice().identifierForVendor.UUIDString
Run Code Online (Sandbox Code Playgroud)

然后我将它们保存到NSUserDefaults中:

NSUserDefaults.standardUserDefaults().setBool(true, forKey: "User" + DeviceId)
NSUserDefaults.standardUserDefaults().synchronize()
Run Code Online (Sandbox Code Playgroud)

然后我会在每次新登录时检查用户是否存在:

static func doesUserExist() -> Bool {
    var userDefaultValue: AnyObject? = NSUserDefaults.standardUserDefaults().valueForKey("User" + DeviceId)

    if defaultValue == true {
        println("Userdefaults already has this guy, moving on")
        FirstTime = false
        return true
    } else {
        println("First time in the app!")
        FirstTime = true
        return false
    }
}
Run Code Online (Sandbox Code Playgroud)

如果用户确实存在,则启动登录过程.如果用户不存在,则向他们显示注册过程.我使用Parse.com作为后端,deviceID用作用户名.当少量用户遇到此错误时,我会看到一个新用户名和一个新帐户.

user-identification userid udid ios

13
推荐指数
2
解决办法
9900
查看次数