Voeg BOOL waarde toe aan NSString

Voeg BOOL waarde toe aan NSString discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Dag, Ik heb een NSString stringWithFormat waar ik een SOAP bericht maak om te communiceren met een WS (Web Service). In die string will ik ...



Ga terug   iPhone, iPod touch, iPad en Apple TV forum > Development > Ontwikkelen voor iOS
Wachtwoord vergeten? Registreren!
Registreer FAQ Ledenlijst Kalender Zoeken Berichten van vandaag Markeer forums als gelezen
  #1  
Oud 2 February 2010, 00:04
» iPhone 3G 8GB [FW: 3.0]  [Jailbreak: Nee]
» MacOS X
 
Geregistreerd: 18 June 2009
Berichten: 13
Standaard Voeg BOOL waarde toe aan NSString

Dag,

Ik heb een NSString stringWithFormat waar ik een SOAP bericht maak om te communiceren met een WS (Web Service).

In die string will ik een aantal elementen van een waarde voorzien. Een int %i waarde, een string %@ of %s waarde maar ook een BOOL waarde.

Wat is het tekentje om een BOOL Waarde mee te geven? Ik heb al %b geprobeerd maar dat werkt niet.

Ik hoop dat iemand mij kan helpen.
Advertentie
Advertentie Gesponsorde links (verdwijnt na registratie)

  #2  
Oud 2 February 2010, 10:09
» iPhone 4 32GB (Zwart) [FW: 5.0]  [Jailbreak: Nee]
» iPad 3 Wi-Fi 16GB (Zwart) [FW: 5.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 14 October 2008
Locatie: Haarlem
Berichten: 348
Standaard Een BOOL is een int (of char)

In 'C' en ook in Objective-C bestaat een Boolean niet echt. Gebruik een %i of %d om de 0 of 1 waarde weer te geven.
Als je TRUE en FALSE wil weergeven moet je met if/then aan de gang of een conditionele expressie toevoegen.

Code:
Try this:  hold down command and double-click on the word YES in XCode. 
You should see the file objc.h: 
#define YES             (BOOL)1 
#define NO              (BOOL)0 

So as you can see, YES is actually just a symbol that maps to an
integer (1 or 0), not a string. If you're wondering about BOOL,
try command-double clicking on it and you will see: 
typedef signed char  BOOL;
__________________
Leon
[iPhone- en Java ontwikkelaar]
  #3  
Oud 2 February 2010, 17:02
» iPhone 5s 16GB (Goud) [FW: 7.1.2]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.1.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 12 January 2009
Berichten: 484
Standaard

Wat dacht je van de ? operator:

[NSString stringWithFormat:@"mijnBoolean: %@", mijnBooleanWaarde ? @"true" : @"false"];
__________________
Software Engineer
iPhone Developer
  #4  
Oud 2 February 2010, 17:28
» iPhone 4 32GB (Zwart) [FW: 5.0]  [Jailbreak: Nee]
» iPad 3 Wi-Fi 16GB (Zwart) [FW: 5.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 14 October 2008
Locatie: Haarlem
Berichten: 348
Standaard

Dat heet een conditionele expressie zoals ik al noemde.
Met een voorbeeld leg je het natuurlijk veel beter uit!
  #5  
Oud 2 February 2010, 17:30
» iPod touch 8GB (v2) [FW: 4.2.1]  [Jailbreak: Ja]
» Ik heb geen iPad  
» Mac OS X
 
Geregistreerd: 21 September 2008
Berichten: 379
Standaard

Wubbe heeft gelijk, een Boolean is gewoon een soort int. Als je een Boolean wilt controleren moet je ook doen "if (boolean == 1)" en niet "if (boolean == "YES"). Je kant dat natuurlijk afkorten door if (boolean) te doen, maar dat terzijde.
  #6  
Oud 2 February 2010, 17:50
» iPhone 5s 16GB (Goud) [FW: 7.1.2]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.1.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 12 January 2009
Berichten: 484
Standaard

@wubbe sorry, overheen gelezen
  #7  
Oud 2 February 2010, 18:23
» iPhone 3G 8GB [FW: 3.0]  [Jailbreak: Nee]
» MacOS X
 
Geregistreerd: 18 June 2009
Berichten: 13
Standaard

Citaat:
Oorspronkelijk geplaatst door Frog Bekijk bericht
Wubbe heeft gelijk, een Boolean is gewoon een soort int. Als je een Boolean wilt controleren moet je ook doen "if (boolean == 1)" en niet "if (boolean == "YES"). Je kant dat natuurlijk afkorten door if (boolean) te doen, maar dat terzijde.
Maar ik kan geen 0 of 1 meegeven aan een c# web service. Dus ik weet nu hoe ik die waarde in een NSString toevoeg maar dan begrijpt de webservice de waarde nog niet. Dus welke string moet er komen te staan in het element die een boolean waarde verwacht. Ik ben nu onderweg ik kijk zo even of ik het volgende kan doen.

NNString withFormatting @"<waarde>%d</waarde>", "false"
  #8  
Oud 2 February 2010, 20:01
» iPhone 4 32GB (Zwart) [FW: 5.0]  [Jailbreak: Nee]
» iPad 3 Wi-Fi 16GB (Zwart) [FW: 5.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 14 October 2008
Locatie: Haarlem
Berichten: 348
Standaard

Whacko heeft het antwoord al gegeven:
Code:
[NSString stringWithFormat:@"<waard>%@</waarde>", booleanVar ? @"True" : @"False"];
  #9  
Oud 2 February 2010, 23:49
» iPhone 3G 8GB [FW: 3.0]  [Jailbreak: Nee]
» MacOS X
 
Geregistreerd: 18 June 2009
Berichten: 13
Standaard

Ja klopt. Ik zal even voor de anderen een voorbeeld Posten zodat ze het antwoord ook kunnen vinden in context. Want ik weet hoe frustrerend het is als iemand zegt: "ik heb het". En dan vervolgens niet het volledige antwoord geven zodat andere lezers er nog niks aan hebben.

Code:
[NSString stringWithFormat:
@"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\n"
"<soap:Body>\n"
"<WebService xmlns=\"http://www.VoorbeeldUrl.Net/Webservices/\">\n"
"<EersteInteger>%i</EersteInteger >\n"
"<TweedeInteger>%i</TweedeInteger >\n"
"<XmlString>%@</XmlString >\n"
"<Boolean>%@</Boolean >\n"
"<EersteString>%@</EersteString >\n"
"<TweedeString>%@</TweedeString >\n"
"</WebService >\n"
"</soap:Body>\n"
"</soap:Envelope>", 
0, 
0, 
@"&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;\n&lt;XmlElement xmlns:xsi=&quot;http://www.w3.org/2001/XMLScema-instance&quot;&gt;\n&lt;/XmlElement&gt;", 
@"false", 
EersteString.text, 
TweedeString.text
];
Ik communiceer met een webservice waar ik een aantal elementen met data moet voorzien om de juiste gegevens uit mijn database te halen via een Web Service. De XML string is een beetje raar maar dat heeft te maken met special characters die moeten vervangen worden met speciale tekencombinaties:
Code:
< = &lt;
> = &gt;
" = &quot;
Nu moet ik die XML in een UITableView zien te krijgen. Ik weet nog niet hoe dat moet. Volgens mij moet ik iets met XMLParsing doen. Als iemand een voorbeeld heeft hoe ik dat met XML data moet doen. Graag! Het liefst wil ik deze data nog niet in een SQLLite database gooien. Omdat deze xml gegevens van tijdelijke aard zijn.

Laatst gewijzigd door MacShack; 2 February 2010 om 23:57.
  #10  
Oud 3 February 2010, 22:35
» iPhone 4 32GB (Zwart) [FW: 5.0]  [Jailbreak: Nee]
» iPad 3 Wi-Fi 16GB (Zwart) [FW: 5.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 14 October 2008
Locatie: Haarlem
Berichten: 348
Standaard XML Parsen

Citaat:
Oorspronkelijk geplaatst door MacShack Bekijk bericht
Nu moet ik die XML in een UITableView zien te krijgen.
Dan moet je met de NSXMLParser aan de gang.
  #11  
Oud 4 February 2010, 00:49
» iPhone 3G 8GB [FW: 3.0]  [Jailbreak: Nee]
» MacOS X
 
Geregistreerd: 18 June 2009
Berichten: 13
Standaard

Dag Wubbe,

Dat klopt. Ik ben op dit moment met TBXML aan de gang. Het gaat goed. Tot dat ik deze foutmeldingen kreeg:

Code:
Undefined symbols:
  "_inflateInit2_", referenced from:
      -[NSData(NSDataAdditions) gzipInflate] in NSDataAdditions.o
  "_deflate", referenced from:
      -[NSData(NSDataAdditions) gzipDeflate] in NSDataAdditions.o
  "_inflateEnd", referenced from:
      -[NSData(NSDataAdditions) gzipInflate] in NSDataAdditions.o
  "_deflateInit2_", referenced from:
      -[NSData(NSDataAdditions) gzipDeflate] in NSDataAdditions.o
  "_inflate", referenced from:
      -[NSData(NSDataAdditions) gzipInflate] in NSDataAdditions.o
  "_deflateEnd", referenced from:
      -[NSData(NSDataAdditions) gzipDeflate] in NSDataAdditions.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Ik heb echt geen idee wat dit betekent en wat ik er aan moet doen. Heb jij soms een idee?
  #12  
Oud 4 February 2010, 07:42
» iPhone 4 32GB (Zwart) [FW: 5.0]  [Jailbreak: Nee]
» iPad 3 Wi-Fi 16GB (Zwart) [FW: 5.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 14 October 2008
Locatie: Haarlem
Berichten: 348
Standaard

Nee, geen idee.
Het enige wat ik zie is dat er ook ge-zipt of ge-unzipt wordt. Maar dat was niet aan de orde geloof ik. Misschien heb je hem per ongeluk verteld dat het xml bestand gezipt is of zo.
  #13  
Oud 4 February 2010, 10:52
» iPhone 3G 8GB [FW: 3.0]  [Jailbreak: Nee]
» MacOS X
 
Geregistreerd: 18 June 2009
Berichten: 13
Standaard

Citaat:
Nee, geen idee.
Het enige wat ik zie is dat er ook ge-zipt of ge-unzipt wordt. Maar dat was niet aan de orde geloof ik. Misschien heb je hem per ongeluk verteld dat het xml bestand gezipt is of zo.
Het rare is dat dit niet tijdens run time gebeurd maar tijdens het builden. Hij build namelijk met die zes foutmeldingen. Verder roep ik geen zip methodes aan. Ik heb de build map al een keer weggegooid. Want hij heeft het over NSDataAdditions.o .Terwijl er normaal een .h of .m achter staat. De 'o' staat volgens mij voor object. En gaat het om een gecompileerde file. Maar ik snap niet hoe ik hier van af moet komen. Hoe kunnen er foutmeldingen komen in een gecompileerd bestand? Of hij heeft fouten en hij compileerd niet of hij compileerd en heeft geen fouten. Of mis ik hier iets.
  #14  
Oud 4 February 2010, 11:05
» iPhone 3G 8GB [FW: 3.0]  [Jailbreak: Nee]
» MacOS X
 
Geregistreerd: 18 June 2009
Berichten: 13
Standaard

ik heb nog een keer de hele documentatie doorgelezen ook van alle voorige versies van tbxml (www.tbxml.co.uk) en in een van de voorige omschrijvingen staat:
Citaat:

To use TBXML, simply include the 4 files into your project.
  1. In xcode right click your project file and select "New Group". Type TBXML as the group name.
  2. Right click the TBXML group and select "Add" then "Existing Files".
  3. Find and select the 4 files (TBXML.h, TBXML.m, NSDataAdditions.h, NSDataAdditions.m). Check the "Copy items into destination group's folder (if needed)" checkbox is ticked. This ensures a copy of TBXML stays with the project.
  4. Locate the Targets node in the group tree under your project. Click the arrow to expand and right click your project's target file. Select "Get Info" and navigate to the "General" tab. Click the plus symbol at the bottom of the window to add a linked library. From the list, select "libz.dylib". You can now close this info window.
Dus als ik thuis kom ga ik dit even proberen. Maar nogmaals ik zet het maar weer op het internet dan kunnen anderen na mij ook deze mogelijke oplossingen lezen. Voor het .NET framework kun je echt alles op het internet vinden. Maar voor Cocoa touch heel weinig.
  #15  
Oud 4 February 2010, 14:48
» iPhone 5s 16GB (Goud) [FW: 7.1.2]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.1.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 12 January 2009
Berichten: 484
Standaard

inderdaad even die stappen doorlopen. voornamelijk die laatste denk ik.

de error:
Undefined symbols:
"_inflateInit2_", referenced from:
-[NSData(NSDataAdditions) gzipInflate] in NSDataAdditions.o

betekent namelijk dat wanneer hij NSDataAdditions.h /.c compileert naar een .o bestand, dat er gerefereerd wordt aan _inflateInit2_ die ergens anders in het project zit. Deze kan die vervolgens niet vinden. Vermoedelijk zit die in de libz.dylib
  #16  
Oud 4 February 2010, 22:34
» iPhone 3G 8GB [FW: 3.0]  [Jailbreak: Nee]
» MacOS X
 
Geregistreerd: 18 June 2009
Berichten: 13
Standaard

Het werkt nu. Bedankt voor jullie hulp!
Reageren

Labels
soap, web service


Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten)

 
Discussietools
Weergave

Soortgelijke discussies

Discussie Auteur Forum Reacties Laatste bericht
Hoe voeg ik de BigBoss source toe? Roccade Jailbreak apps en thema's 5 16 September 2010 04:06
is je oude iphone ook toe aan vervanging? Th00mz Chat en geruchten 3 1 June 2010 20:44

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit
Trackbacks are Aan
Pingbacks are Aan
Refbacks are Uit



Alle tijden zijn GMT +2. Het is nu 21:22.