小编fmc*_*han的帖子

我应该在接口中声明变量还是在objective-c arc中使用属性?

方法1:

@interface MyController : UIViewController {
    UILabel *myText;
}

@property (nonatomic, strong) UILabel *myText;
Run Code Online (Sandbox Code Playgroud)

方法2:

@interface MyController : UIViewController
@property (nonatomic, strong) UILabel *myText;
Run Code Online (Sandbox Code Playgroud)

方法3:

@interface MyController : UIViewController {
    UILabel *myText;
}
Run Code Online (Sandbox Code Playgroud)

我读过一些关于这种东西的文章,但我还没有真正意识到我必须采用哪种方法.

我还发现有人说方法1是一种陈旧的方式所以我想知道使用ARC的ios sdk 6的最佳实践.

我知道使用属性声明变量是生成getter和setter的简单方法,有人建议使用它.但是,我想问一个变量不是为了另一个类调用,是否有必要使用属性变量?并在界面内将其设置为私有变量?或者只更改一个仅在界面内声明的变量?我想学习最佳实践,如果这是一个愚蠢的问题,请原谅我.

而且,一些开发人员以这种方式编写@synthesize

@synthesize myText=_myText;
Run Code Online (Sandbox Code Playgroud)

但有些人写道:

@synthesize myText;
Run Code Online (Sandbox Code Playgroud)

我也想知道差异哪一个更好?

非常感谢你!

objective-c instance-variables ios automatic-ref-counting

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

Onsen UI + LokiJS:loki没有定义?

根据LokiJS:Cordova应用程序的内存NoSQL数据存储区

我嵌入了loki-angular.js,然后编写以下脚本:

var onsen = angular.module('app', ['onsen', 'lokijs'])
  .config(['$httpProvider', function($httpProvider) {
}]);
Run Code Online (Sandbox Code Playgroud)

之后,我编写一个控制器,然后在浏览器上测试并得到一个错误:

onsen.controller('ListController', ['$scope', 'Loki', function($scope, Loki) {
}]);
Run Code Online (Sandbox Code Playgroud)

错误是:

ReferenceError: loki is not defined
at Object.Loki (.../loki-angular.js:29:16)
at Object.invoke (https://code.angularjs.org/1.2.12/angular.js:3710:17)
Run Code Online (Sandbox Code Playgroud)

我只是按照帖子的指南,所以我不知道什么是错的,以及如何解决它.

专家请帮忙!

angularjs cordova onsen-ui lokijs

5
推荐指数
0
解决办法
367
查看次数

MongoDB可用的连接

我在Windows,Mac和Linux上安装了MongoDB。我使用所有默认参数运行MongoDB,并db.serverStatus().connections在mongo上输入命令以检查可用连接。

这是我的观察,Windows 7具有19999,Mac仅具有203,Linux具有818。因此,我想问一下什么使可用连接数不同,并且是否可以增加可用连接?

谢谢。

sql-server database-connection mongodb

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

MongoDB认证日志消息过多

我的日志会继续附加此消息

authenticate db: local { authenticate: 1, nonce: "xxx", user: "__system", key: "xxx" }
Run Code Online (Sandbox Code Playgroud)

我不明白这是什么意思,有可能不显示它吗?谢谢

authentication logging mongodb

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

NSXMLParser在Objective-C中解析数字和中文字符

这是我的XML:

<?xml version="1.0" encoding="UTF-8"?>
<Tests>
    <Test case="1">
        <str>200000</str>
    </Test>
    <Test case="2">
        <str>200thousand</str>
    </Test>
    <Test case="3">
        <str>?20?</str>
    </Test>
    <Test case="4">
        <str>20?</str>
    </Test>
</Tests>
Run Code Online (Sandbox Code Playgroud)

这是解析器的一部分,这是非常标准的,因为我在大多数教程中都找到了它:

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { 
    if(!currentElementValue)
        currentElementValue = [[NSMutableString alloc] initWithString:string];
    else
        currentElementValue = 
            (NSMutableString *) [string stringByTrimmingCharactersInSet:
                [NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
Run Code Online (Sandbox Code Playgroud)

然后我使用这一行将每个currentElementValue解析为testObj的每个变量

[testObj setValue:currentElementValue forKey:elementName];
Run Code Online (Sandbox Code Playgroud)

代码成功地将XML解析为testObj.然而,问题是在情况4中,"20"消失了.即一旦元素以数字开头,然后跟随汉字,数字就会消失.

此外,如果我使用:

        [currentElementValue appendString:string];
Run Code Online (Sandbox Code Playgroud)

代替:

        currentElementValue = 
            (NSMutableString *) [string stringByTrimmingCharactersInSet:
                [NSCharacterSet whitespaceAndNewlineCharacterSet]];
Run Code Online (Sandbox Code Playgroud)

元素可以显示所有字符,但以许多空格开头.

我想弄清楚为什么数字消失了,并寻找解决方案来显示没有空格领先的所有字符.

提前感谢您提供的任何帮助!

objective-c special-characters nsxmlparser ios

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