2017-06-07 96 views
0

我想从result.text动态添加字符串值,我希望以这种方式显示它[@"17052648287",@"17052607335"]而不会丢失值。我该怎么做?在objc中动态添加字符串

NSMutableArray *strings = [@[@"17052648287",@"17052607335"] mutableCopy]; 

添加上编码

- (void)captureResult:(ZXCapture *)capture result:(ZXResult *)result{ 
    if (!result) return; 

if(self.hasScannedResult == NO) 
{ 
    //Scan Result, added into array 
    NSString *scanPackage = [NSString stringWithFormat:@"%@", result.text]; 

    scanLists = [NSMutableArray new]; 
    [scanLists addObject:scanPackage]; 

    NSUserDefaults *preferences = [NSUserDefaults standardUserDefaults]; 
    NSMutableArray *strings = [[NSMutableArray alloc]init]; 
    strings = [@[result.text] mutableCopy]; 
    [preferences setObject:strings forKey:@"strings"]; 
    NSMutableArray *stringsArray = [preferences objectForKey:@"strings"]; 
    for (NSString *string in stringsArray) { 
     NSLog(@"string: %@", string); 
    } 
+0

你想展示以这种方式最终输出'[@“17052648287”,@“17052607335”]' –

+0

你能解释一下吗? results.text等结构你只是想要在数组中的所有字符串? – Bhanupriya

+0

@ Anbu.Karthik yes – Nurburgring

回答

0

声明一个结果数组:你在何处获得result.text

NSMutableArray * array = [NSMutableArray new]; 

写下面的代码:

NSString *scanPackage = [NSString stringWithFormat:@"%@", result.text]; // If this code is working for you 
[array addObject: scanPackage]; 
NSString *combined = [array componentsJoinedByString:@","]; 
NSLog(@"combined: %@", combined); 
+0

我没有任何文件,result.text取自QR Code扫描 – Nurburgring

+0

是的,但第一次只能“17052648287”,第二次扫描是“17052607335”。想要将它保存为[“17052648287”,“17052607335”] – Nurburgring

+0

我使用的代码,你给我它显示“17052648287”第一次扫描,当我扫描“17052607335”。第一个“17052648287”替换为第二个扫描 – Nurburgring