Don’t be fooled that Objective-C is a Object oriented language. For decades operators overloading is something standard in almost all of them.
But in Objective-C you don’t have it. Mostly, I believe that comes from the struggle of Apple guys to assure the stability of the system. A lot of errors can come from poorly designed overloads, thus the crashes can appear.
Now let’s put some hands on code.
In C, Java or Pascal you would have written something like the following for string concatenation:
string1 = string2 + string3;
But in Objective-C you need to do something different:
NSString *myString = @"http://www.mywebsite.com"; float myValue = 4; NSString *result = [NSString stringWithFormat:@"%@?query=%.3f&a",myString,myValue]; myLabel.text=result;
But beware! Read the documentation regarding formats!
It is very important to use the correct String Format Specifiers:
- %S is used for a "Null-terminated array of 16-bit Unicode characters". And %s is used for a "Null-terminated array of 8-bit unsigned characters.
- %s interprets its input in the system encoding rather than, for example, UTF-8.". The key being that these are arrays, not objects.
- %@: "Objective-C object, printed as the string returned by descriptionWithLocale: if available, or description otherwise". That sounds a bit more like a NSString. It’s an Objective-C object after all.
Lately I had some interesting conversations with few of my developer friends regarding their opinions on which technology will rule the Rich Application Interfaces websites in the future. My strong believe is that there’s room for all four of these as per my experience and actual trends. More over, all these will have a separate slice of the market but overlap at only few areas. Let’s take AJAX as example – it is widely popular for creating rich user experience community building apps, portals, mash-ups and so on. On the other hand, Flex is used more for multimedia rich requirements, interactive maps for example, photo albums, portfolios, games etc. Another technology, Silverlight, is a direct competition to Flex, but its presence is more dominant in the Enterprise applications market.
Adobe’s Flex has a big advantage of running on the Flash platform, inheriting a very wide reach on the internet and having also an integrated support from other Adobe products, like Photoshop, After Effects, Fireworks, Flash, Illustrator. Also some near future upcoming products – Catalyst, Thermo, Cocomo, and more will be closely integrated with the legacy platform. All these are reliable, proven technology in web industry, being leading tools for creating visually rich media, no matter that is composed from images, animations or videos. Besides all, the new AIR version brings even more value by having a desktop version of an app that is integrated with the online one. (more…)
I am a begginer in XCode. My first real application for iPhone requires connection to a webservices. Since I wanted to use RPC XML or Soap, I searched on internet and found few examples (Apple programmers aren’t so into code sharing) to implement my requests. I want to mention that since the app is in the stage of proof of concept, the code is still not structured in classes separating the data and business layers as should.
So I took the example from CocoaDev and expected to run flawlessly.
But after pasting the code in my application and build it, a lot of unknown errors started to show:
The question of What’s that user agent string used for? should has been duly answered in the previous post. The next question is about How to change or spoof user agent string?
The structure of Internet Explorer user agent string.
The template of user agent string used by Microsoft Internet Explorer.
Why there is a need to change or spoof user agent string?
Well, this question should have been answered in the previous post too.In short, changing or spoofing user agent string is needed when online security is a concern or to bypass web services access restriction for certain type of web browser.
For example, Adobe Reader download site will display different download page according to the web browser that visiting the site, limit or auto pick up Adobe Reader version for the OS type in the user agent string, force Adobe Updater to manage Adobe Reader download progress. So, by changing the user agent string, one can directly download any Adobe Reader version of any platforms or languages with Internet Explorer or Mozilla Firefox, without using the Adobe Updater or Opera web browser!
How to change User Agent String of Internet Explorer?
For Internet Explorer 6 SP2 on Windows 2000 and IE7 For Windows XP, open up Windows Registry Editor to locate this Registry key:
HKLMSoftwareMicrosoftWindowsCurrentVersionInternet Settings5.0User Agent (more…)
1. System requirements: verify if the iPhone sdk needs are met.
2. Go to Apple’s iPhone Developer Center , then download the SDK.
3. As you’ll need some experience and code to work on, download the Hello World sample application.
4. Double click (gotcha!) on the the Hello World project file (the .xcodeproj).
5. Alternatively, you can use the research assistant to increase your knowledge about the iPhone libraries.
6. Optional, but really recommended: look deeply into all source code examples that you can find and use the research assistant often.
Take a big breath and … just start!
I just started the most interesting lab of my life : Programming Apple’s iPhone using a MacBook with Cocoa Touch.It is held in Frauhover FIT, under Prof. Dr. Wolfgang Prinz and Dr. Wolfgang Gräther. In this lab we will start develop an iPhone application using Usability principles, Apple’s User interface Guides.
For me it’s the best opportunity to take a peak into the neighbor’s( Apple’s ) garden. For long time I was just curious about their technology and ways to program. But I lacked the hardware, because you can develop for Mac and iPhone only in MacBooks, Macs and obviously need an iPhone for testing.
So I want to share my experience as a newbie into Apple stuff. (more…)
Starting from the Fall of 2002 a close collaboration begin between the RWTH Aachen University, University of Bonn, the Fraunhofer Institute Centre Birlinghoven Castle IZB and the University of Applied Sciences Bonn Rhein-Sieg . They joined forces to establish the Bonn-Aachen International Center for Information Technology (B-IT) who, as a collaboration, ranked the first university in Computer Science in Germany, above Technical University of Munich and the University of Karlsruhe.
I just got the confirmation that I will be enrolled into Agile lab and study the Agile development techniques along with Ruby on Rails and mobile programming. (more…)
Adobe Flex 3 has a very interesting component : LocalConnection. The idea behind is that the modules (which runs on client side) might change some data. The exchanged data is not limited at all to simple forms, but can be from a simple String to a XML or Arrays.
Few things must be known from the start, but as any technology, only after you learn it everything becomes easy.
- First of all, the communication can be restrained to a certain domain, let’s say by example www.radupoenaru.com .
- You can’t have bidirectional communication from a single LocalConnection. One module acts as a server and another one as a client.
- Server module opens a connection to which client connects. If the client loads but the server don’t, then an error occurs in client module.
- Be very careful to the name of the procedure called by server – should be the same in server as in client module. (more…)
Do you have a website and would like to post your tweets from it ? Or maybe you want to create a widget that posts weather on your twitter account?
NOTE: I use it for a Vista sidebar gadget, so only IE code is below. For FireFox or Opera the modifications are trivial. (more…)
While working at Fraunhofer FIT, I had few small projects to develop internal modules for extending the interaction between researchers. The technologies were set from the start to Flex 3 and ActionScript.
As starter in Flex, but not ActionScript, I was quite anxious to begin coding in this interesting tool. But after I created my new Workspace (seems that now everyone creates its own paradigm for Project) and wrote some code, I hit a wall: the Flex IDE debugger interface raised an error that he couldn’t connect to the Flash debugger: