Daha önce http://www.btsoru.com/questions/12667/ios-uygulamas-ve-django başlığında gösterildiği şekilde web servisinden data çekebiliyorum. Şu an webservisinden çektiğim datayı webview içerisinde göstereceğim .html dosyasının içinde yazılı olan JavaScript'ime göndermek istiyorum.

İnternette yaptığım araştırmaya göre temel olarak javascript içinde myFunction (var arg1){...} gibisinden methodumuz olsun. Objective-C tarafında da şöyle bir kodumuz olsun:

NSString *myString=qwerty;
NSString *jsCallBack = [NSString stringWithFormat:@"myFunc('%@'", myString];
[self.webView stringByEvaluatingJavaScriptFromString:jsCallBack];

Şimdi bu yöntem ile javascript'e string yollarken sıkıntı yok fakat NSMutableArray içerisinde

[
     ["", "2008", "2009", "2010", "2011", "2012", "2013", "2014 (YTD)"],
     ["Fenerbahçe", 12, 2922, 589, 7766, 2351, 4326, 937],
     ["Galatasaray", 0, 2941, 4303, 354, 5814, 2422, 2922],
     ["Beşiktaş", 5, 2905, 2867, 412, 5284, 1, 2],
     ["Trabzonspor", 4, 2517, 4822, 552, 6127, 6, 32],
     ["Bursaspor", 2, 2422, 5399, 776, 4151, 924, 7057],
]

gibi bir data varsa bunu javascript'e nasıl gönderebilirim? Kodu benim durumuma uyarlamak için benzer şeyler yazıp Xcode'un intellisense'inden birşeyler çıkar mı diye denedim fakat pek birşey elde edemedim. Bu sorunu nasıl çözebilirim?

soruldu: 21 Nis '14, 15:26

Timur%20Aykut%20YILDIRIM's gravatar image

Timur Aykut YILDIRIM
371325047
cevap kabul oranı: 14%


Merhaba,

NSmutablearray içeriğini string formatına dönüştürüp myString içerisinde kullanabilirsiniz.. Burada örneğinizde verdiğiniz nsmutablearray nesnesine "mainArray" adı veriyorum ve her bir elemanının nsstring içeren birer array olduğunu varsayıyorum..

not: kodu aklımdan yazıyorum yazım hataları olabilir.

NSMutableString javaArray = [NSMutableString new];
[javaArray appendString:@"["];
int counter = 1;
for(NSArray* array in mainArray){
    NSMutableString arrayString = [NSMutableString new];
    [arrayString appendString:@"["];
    for(NSString str in array){
      [arrayString appendString:[NSString stringWithformat:@"%@,",str]];
    }
    counter++;
    if(counter==[mainArray count]) //Son array'den sonra birgül olmaması gerekiyor.
      [arrayString appendString:@"]"];
    else
      [arrayString appendString:@"],"];

    [javaArray appenString:arrayString];
}
[javaArray appendString:@"]"];
NSString *jsCallBack = [NSString stringWithFormat:@"myFunc('%@'", javaArray];
[self.webView stringByEvaluatingJavaScriptFromString:jsCallBack];
permanent link

cevaplandı: 22 Nis '14, 09:20

dreampowder's gravatar image

dreampowder
3.3k112849
cevap kabul oranı: 23%

değiştirildi: 22 Nis '14, 09:21

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×137
×45
×12

Soruldu: 21 Nis '14, 15:26

Görüntüleme: 553 kez

Son güncelleme: 22 Nis '14, 09:21

powered by BitNami OSQA