我的問題是如何將Null值傳遞給NSMutableArray/NSArray。將空值和一個變量傳遞給NSMutableArray/NSArray。爲什麼產量有差異?
但通過搜索谷歌和經歷不同的網站,我認爲我已經達到了我的目的。但是,雖然嘗試我有一個新的懷疑。
請參見下面的代碼來了解我的問題
我聲明一個可變的數組,並開始與一些對象初始化它也是我傳遞一個空到它在聲明自己的時間。
現在,當我下面
NSMutableArray * mar = [[NSMutableArray alloc]initWithObjects:@"first",@"last", nil];
[ar addObject:[NSNull null]];
NSLog(@"%@",mar);
運行這段代碼的O/P爲:
(
first,
last,
"<null>"
)
但我的實際疑問是,當我初始化的NSMutableArray如下
NSString *str;
NSMutableArray * mar = [[NSMutableArray alloc]initWithObjects:@"first",str,@"last", nil];
[ar addObject:[NSNull null]];
NSLog(@"%@",mar);
該O/P是:
(
first,
"<null>"
)
數組中的第二個元素是「空」,我明白,因爲我已經傳遞了一個變量沒有分配任何值。它打印爲空。但爲什麼沒有打印剩餘的元素。
根據我所知,數組在初始化時會在nil克服nil時停止添加元素。但在這裏,在這種情況下。 o/p顯示第二個元素也爲空(但不爲零)
那麼爲什麼其餘元素不能打印。
UPDATING QUESTION
NSString* str;
NSLog(@"%@",str);
NSMutableArray * mar = [[NSMutableArray alloc]initWithObjects:@"first",str,@"last", nil];
NSLog(@"%@",mar);
和上述代碼中的O/P是
(null) // for str an uninitialised NSString variable.
(
first // first element in the array
)
如果存在於str中的值是(空),如何來陣列遇到零和停止添加排列和打印它們的元素。
現在,有人回答這個問題嗎?
你爲什麼不只是使用'「」',一個空字符串。你可以在你想要的時候給它賦值,如果你想做比較,當然可以使用'if ans =='''' – Lee
@Lee。我可以像你說的那樣使用它來使程序工作。但我的問題是不同的。我的問題是,爲什麼當我傳遞一個變量而沒有分配任何值時它不能正常工作。 – Mahesh
@Mahesh第二個元素爲null,因爲在它被記錄之前在行中添加了[NSNull null] – ZeMoon