相关疑难解决方法(0)

objectForKey和valueForKey之间的区别?

objectForKey和之间有什么区别valueForKey?我在文档中查看了它们,它们对我来说似乎是一样的.

cocoa objective-c key-value-coding

343
推荐指数
4
解决办法
11万
查看次数

在Objective-C中测试nil - if(x!= nil)vs if(x)

我在网上找到的大多数例子都写道:

if(x != nil)
    // ...
Run Code Online (Sandbox Code Playgroud)

这有什么问题吗?

if(x)
    // ...
Run Code Online (Sandbox Code Playgroud)

我在一个简单的程序中尝试了两个,但没有找到任何区别.

syntax objective-c

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

如何检查NSString是否为空

我想检查天气NSString是否为空.我从JSON数组分配.分配后该字符串值为<null>.现在我想检查这个字符串是否为null.所以我这样说

if (myStringAuthID==nil)但是这个if语句总是假的.我如何检查字符串为null.请帮我

谢谢

xcode objective-c nsstring ios

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

nil和(NSString*)[NSNull null]等效于检查空的NSString对象

我有一个NSString对象,

NSString *aString;
Run Code Online (Sandbox Code Playgroud)

那么以下两个版本是等价的吗?

版本1:

if ( (NSString *)[NSNull null] == aString )
{
   // Logic handling
}
Run Code Online (Sandbox Code Playgroud)

版本2:

if ( nil == aString )
{
   // Logic handling
}
Run Code Online (Sandbox Code Playgroud)

参考文章

  1. nil,Nil和null之间的差异

  2. 如何检测NSString是否为空?

  3. Apple的NSNull类参考

  4. 如何在Objective C中测试字符串是否为空?

更新 - 测试结果

我的简单测试结果表明上述两个版本有不同的行为:

  1. 何时aString初始化然后分配nil:

    false 在版本1中表达,

    true 在版本2中表达.

  2. 何时aString使用值初始化@"".

    false 在版本1中表达,

    false 在版本2中表达.

所以很明显,这两个版本的行为并不相同.

测试代码:

NSString *aString = nil;
NSString *bString = [NSString stringWithFormat:@""];

if ((NSString *)[NSNull null] == aString) {
    NSLog(@"a1 - …
Run Code Online (Sandbox Code Playgroud)

null objective-c nsstring nsnull

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

标签 统计

objective-c ×4

nsstring ×2

cocoa ×1

ios ×1

key-value-coding ×1

nsnull ×1

null ×1

syntax ×1

xcode ×1