我正在努力解决我的程序中的错误.最后我明白了.这里整数在声明时显示值1.我再次清洁和建造.但它显示1个值?
请任何人解释我为什么会这样?

当我构建这个代码时,我得到WARNING,INVALID Integer指针转换.但是当我运行应用程序时它会崩溃.....
任何人都可以帮助我...我在withObject收到警告:[发送者标签]
我有frontButtonScaleUp方法,它接受(NSIngeter)参数...并且标签返回NSInteger值...
- (IBAction)frontButtonReleased:(id)sender
{
const double delay = 0.3;
double elapsed = CACurrentMediaTime() - tapStartTime;;
if (elapsed >= delay)
[self frontButtonScaleUp:[sender tag]];
else
[self performSelector:@selector(frontButtonScaleUp) withObject:[sender tag] afterDelay:delay - elapsed];
}
Run Code Online (Sandbox Code Playgroud) 我想要的是将NSDictionary对象转换为NSInteger.im解析json对象并将其存储在NSMutableArray中,然后将其存储在名为boy的NSDictionary对象中.你们可以帮助我.下面是代码.
NSURLRequest *request = [NSURLRequest requestWithURL:jsonurl cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
connection1=[[[NSURLConnection alloc] initWithRequest:request delegate:self] autorelease];
NSLog(@"jsonurl:%@",jsonurl);
self.jsonData=[NSData dataWithContentsOfURL:jsonurl];
NSDictionary *items=[NSJSONSerialization JSONObjectWithData:self.jsonData options:NSJSONReadingMutableLeaves error:nil];
NSLog(@"blah:%@",jsonArray);
items1 = [items objectForKey:@"ThingsTodo"];
story = [[NSMutableArray array]retain];
media1 = [[NSMutableArray array]retain];
url=[[NSMutableArray array]retain];
media2=[[NSMutableArray array]retain];
descriptiondesc=[[NSMutableArray array]retain];
for (NSDictionary *item in items1)
{
[self.story addObject:[item objectForKey:@"Name"]];
[self.media1 addObject:[item objectForKey:@"Status"]];
[self.media2 addObject:[item objectForKey:@"Image"]];
}
NSDictionary *boy=[self.media1 objectAtIndex:indexPath.row];
Run Code Online (Sandbox Code Playgroud) NSString,NSBool并且NSInteger有很多额外的功能,在需要时很好,但在不必要的时候成为行李.是否有一种轻量级的方法来保持字符串,就像bool和int一样?
NSBool 具有 BOOLNSInteger 具有 int有什么NSString?
这可能是最简单的一个,但我无法找到确切的原因.而不是用以下单词解释我的代码:
NSString *str = @"";
NSInteger tempInteger = [str integerValue];
if (tempInteger == 0)
{
NSLog (@"do something");
}
Run Code Online (Sandbox Code Playgroud)
如果NSString返回NULL然后NSInteger返回0并且如果NSString有一些值则NSInteger返回相同的值.
但是,当NSString是NULL那么我想NSInteger应该返回NULL不为0,但我不能确认NSInteger为NULL.
如果为NULL,我怎样才能得到NULL值?NSIntegerNSString
我试图将NSInteger(标签)保存到NSUserDefaults但我还没有找到一种方法来做到这一点甚至可能
保存数据
[[NSUserDefaults standardUserDefaults] setInteger:label forKey:@"key1"];
Run Code Online (Sandbox Code Playgroud)
检索数据
- (void)viewDidLoad {
label = [[NSUserDefaults standardUserDefaults] integerForKey:@"key1"];
[super viewDidLoad];
Run Code Online (Sandbox Code Playgroud) 这可能是一个平凡的问题,但我想知道最佳做法.自升级到Xcode 5.1以来,由于arm64开关,我从NSInteger(又名'long')到'int'得到了大量关于丢失整数精度的警告.
到目前为止,我一直在打字,以摆脱警告,例如:
int number = (int)[self.arrayOfUsers count];
Run Code Online (Sandbox Code Playgroud)
或者我应该使用
long number = (int)[self.arrayOfUsers count];
Run Code Online (Sandbox Code Playgroud)
哪个更好"?我现在应该主要使用多头吗?
谢谢!
我试图增加这样的NSInteger使用NSUserDefaults:
NSInteger attempts = [[NSUserDefaults standardUserDefaults]integerForKey:@"tries"];
NSInteger newA = attempts++;
[[NSUserDefaults standardUserDefaults]setInteger:newA forKey:@"tries"];
[[NSUserDefaults standardUserDefaults]synchronize];
NSLog(@"Tries: %d",[[NSUserDefaults standardUserDefaults]integerForKey:@"tries"]);
Run Code Online (Sandbox Code Playgroud)
不过这是我的NSLogs:
Tries: 0
Tries: 0
Tries: 0
Run Code Online (Sandbox Code Playgroud) NSInteger 是整数对象。那么肯定应该有长对象吗?
这两者之间的基本区别是什么?如果有人能够解释使用NSInteger和NSNumber的例子,那将是很好的.谢谢
嗨我已经尝试了多种结合我的知识和互联网的东西,但我找不到一种方法来检查NSInteger是否在10到20之间.
它会是这样的吗?(它不起作用)
if (FXVolumeSlider.value == 10-20) {}
Run Code Online (Sandbox Code Playgroud)
提前致谢
nsinteger ×11
objective-c ×9
ios ×5
iphone ×4
xcode ×2
boolean ×1
cocoa ×1
cocoa-touch ×1
int ×1
nsdictionary ×1
nsstring ×1