2013-07-19 78 views
-3

我在.h中創建了一個nsstring idd變量。並在.m中合成。現在我有一個int變量b,並希望將idd的值存儲在b中。現在,當我將idd轉換爲int。它不工作的B總是給我的0值。從NSString轉換爲int不工作

.H

@property(retain, nonatomic) IBOutlet NSString *idd; 

.M

int b=[idd intValue]; 
NSLog(@"the value of b=%d",b); 
+2

如果'idd'爲null,'B'將'0' – tia

+0

當idd獲得價值? – bengoesboom

+14

你正在設置你的字符串作爲插座...? –

回答

2

IBOutlets和IBActions是標記變量和方法的宏,它們可以被Interface Builder引用以將UI元素鏈接到您的代碼。他們通常鏈接到NSResponder的子類(如NSButton,NSView等);不是NSString的。除非idd綁定到NIB中的某個東西,否則它將不具有默認值(零)以外的任何值。如果idd綁定到一個GUI對象(控制),那麼你可能想要的是控制值(在這種情況下你的代碼是正確的)。

1

idd可能沒有價值,或者具有不能被解析成整數的值。嘗試NSLog ing idd以查看它包含的內容。

0

idd = @"2"; 
int b = [idd intValue]; 
NSLog(@"b = %i", b); 

,並應顯示2個爲B

0

你需要

int b=[self.idd intValue];