小编Tom*_*yer的帖子

iOS:读取NSUserDefaults与变量的速度

我有一个应用程序,它会调用变量.这些变量存储在NSUserDefaults.

我想知道在哪里NSUserDefaults存储?如果我NSUserDefaults直接打电话而不是使用变量.

哪个更快?变量或NSUserDefaults.因为使用变量存储NSUserDefaults将是使用更多内存的原因.

variables performance nsuserdefaults ios

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

iOS - 如何延迟显示消息“购买成功”以等到验证收据完成

我已经搜索过但找不到任何方法来延迟显示消息:“您的购买成功”以等到验证收据完成。

我试图引用该行,SKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)但该消息仍然会触发。

 func paymentQueue(queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
        print("Received Payment Transaction Response from Apple");

        for transaction:AnyObject in transactions {
            if let trans:SKPaymentTransaction = transaction as? SKPaymentTransaction{
                switch trans.transactionState {
                case .Purchased:
                    print("Product Purchased");
                    SKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)

                    // validate receipt and update money
                    validateReceipt(trans.payment.productIdentifier)

                    break;
                case .Failed:
                    print("Purchased Failed");
                    SKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)

                    self.indicator.Hide()
                    break;
                case .Restored:
                    print("restored")
                    SKPaymentQueue.defaultQueue().finishTransaction(transaction as! SKPaymentTransaction)
                    //[self restoreTransaction:transaction];

                    self.indicator.Hide()
                    break;
                default:
                    break;
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

in-app-purchase ios receipt-validation

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

iOS中不同位置的商店数据库有何不同?

我正在使用SQLite.swift.在文档中,数据库的路径是:

let path = NSSearchPathForDirectoriesInDomains(
                .DocumentDirectory, .UserDomainMask, true
                ).first!
Run Code Online (Sandbox Code Playgroud)

但我想导入并使用现有数据库,所以我将现有数据库拖到我的键盘扩展文件夹中,并使用路径创建与它的连接:

let path = NSBundle.mainBundle().pathForResource("db", ofType:"sqlite3")
Run Code Online (Sandbox Code Playgroud)

所以,我注意到第一种方式,数据库将存储在 /Users/*/Library/Developer/CoreSimulator/Devices/8B1DB861-AA3F-446F-A559-D4727CDB9285/data/Containers/Data/PluginKitPlugin/0BC647E4-26F3-4A1F-8271-CC73C96FD197/Documents

第二种方式,数据库将存储在应用程序中.

/Users/*/Library/Developer/CoreSimulator/Devices/8B1DB861-AA3F-446F-A559-D4727CDB9285/data/Containers/Bundle/Application/E5D9514C-859A-4D4D-A771-A8CE9CDCD3E7/AppName.app/PlugIns/AppNameExt.appex
Run Code Online (Sandbox Code Playgroud)

这两个地方有什么不同?第二种方式可能会增加应用程序的大小,因为它包含数据库?如果我想使用现有数据库将我的应用程序存档/提交到AppStore,这是唯一的方法吗?

database ios sqlite.swift

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

iOS:dyld:库未加载SQLite

我在应用程序中使用SQLite作为扩展.在Simulator中一切正常,但是当我在我的设备中运行应用程序时出现错误.

 dyld: Library not loaded: @rpath/SQLite.framework/SQLite Referenced from: /private/var/mobile/Containers/Bundle/Application/898AED60-6F5F-482C-83FC-A55655599429/*.app/PlugIns/*.appex/* Reason: image not found 
Run Code Online (Sandbox Code Playgroud)

我必须在扩展中的"复制文件"部分添加框架.麻烦解决了.

但是当我在我的设备上运行应用程序时,我必须取消选中"仅在安装时复制"选项,当我在模拟器上运行我的应用程序时,我必须检查它.如果我没有新的错误将显示:

error: make directory /Users/*/Library/Developer/Xcode/DerivedData/*-dlklrcpbpykobgbkaophrsrhssxr/Build/Products/Debug-iphonesimulator/*.appex/Frameworks/SQLite.framework: File exists 
Run Code Online (Sandbox Code Playgroud)

如何解决它.如果我存档并将应用程序上传到appstore,关于此选项的最新情况,如何使用模拟器和设备运行?

sqlite frameworks ios sqlite.swift

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

PHP - 修剪不适用于空格?

今天,我有一个非常奇怪的修剪功能问题.这是我的代码.=和结果是124.修剪函数不能用这个字符串??!

$s = '                                                                                  ';
$s = trim($s);
echo strlen($s);exit();
Run Code Online (Sandbox Code Playgroud)

复制和粘贴不适用于此代码.我不知道白色空间是什么?但修剪不能剥离它:|

你可以在这里测试这段代码:

测试:http:// 70.38.18.62/t.php

您可以在那里复制空格和代码:http: //jsbin.com/ukunuq/1/edit

php trim

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

Swift - iOS 9:如何在iOS 9中呈现自定义大小的UIViewController?

我有一个视图,我想显示一个自定义大小的UIViewController.但我没有成功.这是我的代码.

var vx = KeyboardViewController()
vx.modalPresentationStyle = UIModalPresentationStyle.FormSheet
vx.preferredContentSize = CGSizeMake(self.view.frame.width, 150)    
self.presentViewController(vx, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)

此UIViewController以全屏大小显示

ios presentviewcontroller swift

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

Peewee - 如何执行原始查询并将其映射到字典?

我一直在尝试执行原始查询并将其映射到字典。

虽然execute_sql不返回列名,但返回元组。

我使用原始查询,但它返回 None Abc 实例

class Abc(BaseModel):
    name = CharField()
    engine = CharField()

q = Abc.raw('show table status from ' + config.DB['name'])
print(list(q.execute()))
Run Code Online (Sandbox Code Playgroud)

输出:

[<Abc: None>, <Abc: None>, <Abc: None>, <Abc: None>, <Abc: None>, <Abc: None>, <Abc: None>, <Abc: None>, <Abc: None>, <Abc: None>, <Abc: None>, <Abc: None>, <Abc: None>, <Abc: None>, <Abc: None>]
Run Code Online (Sandbox Code Playgroud)

sql的结果

在此输入图像描述

python mysql peewee

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

Python:或者条件不能正常工作,就像if else一样

我正在使用python,我意识到它有时候不可靠,或者语句无法正常工作

column_exclude_list = []}
column_exclude_edit = ['id']
def get_columns(type='list'):
    # exclude_list = column_exclude_list if type=='list' else column_exclude_edit
    exclude_list = type=='list' and column_exclude_list or column_exclude_edit

    print(type)
    print(column_exclude_list)
    print(column_exclude_edit)
    print(exclude_list)
Run Code Online (Sandbox Code Playgroud)

我测试了这个功能,它打印:

list
[]
['id']
['id']
Run Code Online (Sandbox Code Playgroud)

更改后exclude_list = column_exclude_list if type=='list' else column_exclude_edit,它的工作原理.

list
[]
['id']
[]
Run Code Online (Sandbox Code Playgroud)

这两个短手条件之间有什么不对?

python syntax conditional-statements

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