Archive for the ‘Objective-C’ Category

4 Coding tips

No Comments » by Jon Hibbins on 26 August 2009
Filed under: .NET, C#, Code, Java, Objective-C, PHP, Quick Tips, Software Development

1: Delete It !
If a chunk of code comment or class is not used, don’t comment it out, just delete it.

2: Write clear code.
“make sure you document code that’s hard to understand”. Question: why is the code hard to understand?

3: Comment
Comments can indeed be useful but mostly as a summary of action

4: Don’t Repeat Yourself
Duplication is bad. If you have more than 4-5 lines of code that do the same thing in a single class, refactor to remove duplication.

iPhone 3.0

No Comments » by Jon Hibbins on 17 March 2009
Filed under: Code, Objective-C, Platform, Software Development, iPhone

Apple has announced the iPhone 3.0 software update which includes an updated Software Development Kit (SDK) with over 1,000 completely new APIs.

Here are a few highlighted features:

  • Search your iPhone
  • Cut, copy, and paste
  • Send photos, contacts, audio files, and location via MMS*
  • Read and compose email and text messages in landscape

And yes, I am running it (I have an Apple Developer Account), and so far I found one bug (on safari re-highlighting the address bar can sometimes make the address disapear) and an un-announced fearure (the call history list is now much more verbose)

SQL Server Schema,Table,Function and Stored procedure Auditing

1 Comment » by Jon Hibbins on 17 December 2008
Filed under: Code, MSSQL2005, MSSQL2008, Objective-C, SQL Server, Software Development, TSQL, iPhone

If you like to know what’s changing on your SQL Server then the following code creates an audit table and the associated trigger for logging the changes

The Audit Object Table

CREATE TABLE [dbo].[AuditObjects](
 [EventID] [int] IDENTITY(1,1) NOT NULL
,[EventData] [xml] NULL
PRIMARY KEY CLUSTERED (
   [EventID] ASC
) WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

And the associated Trigger

CREATE TRIGGER [TriggerAuditObjects]
ON DATABASE
FOR DDL_DATABASE_LEVEL_EVENTS
AS
INSERT INTO [dbo].[AuditObjects](EventData)
SELECT EVENTDATA()
GO
ENABLE TRIGGER [TriggerAuditObjects] ON DATABASE

You can now use xpath queries to analyse the data

Search Stored Procedures

No Comments » by Jon Hibbins on 5 December 2008
Filed under: Code, Database, MSSQL2005, MSSQL2008, Objective-C, Quick Tips, SQL Server, TSQL, iPhone

Ever had the need to search stored procedures to find redundant tables or text that needs replacing or re-factoring ?

Here’s a script to help (Sorry for the cursor, I’m sad with myself for using it :-( )

-- Search string
DECLARE @SearchString nvarchar(50)
SET @SearchString = 'Search String'
 
-- Required Declares
DECLARE @getdbname sysname
DECLARE @sqlstm nvarchar(1000)
DECLARE SeachCursor cursor FOR 
-- Get All The Names into the SeachCursor
SELECT '['+name+']' FROM [master].[dbo].[sysdatabases] ORDER BY name 
OPEN SeachCursor
-- Add the Search Pattern
SET @SearchString = '%' + @SearchString + '%'
--Get the first Name
FETCH NEXT FROM SeachCursor INTO @getdbname
WHILE @@FETCH_STATUS=0
	BEGIN
	--set the statement to define the search condition, with variables
	SET @sqlstm = '
	SELECT [SP].[Specific_Catalog] AS [Database_Name], [SP].[Routine_Name] AS [Stored Procedure Name],[SP].[Routine_Definition] AS [Routine_Definition]
	FROM '+ @getdbname+'.[Information_Schema].[Routines] AS [SP]
	WHERE PatIndex('+''''+@SearchString+''''+', [Routine_Definition]) > 0'
	--Execute the Query
	EXEC (@sqlstm)
	FETCH NEXT FROM SeachCursor INTO @getdbname
	END
--Close the Cursor and Deallocate it from memory
CLOSE SeachCursor
DEALLOCATE SeachCursor

iPhone Developer Provision Issue on Device

7 Comments » by Jon Hibbins on 27 August 2008
Filed under: Objective-C, Quick Tips, iPhone

After a number of compile to iPhone device issues, specifically: “entitlement ‘application-identifier’ has value not permitted by provisioning profile” and “Command /usr/bin/codesign failed with exit code 1″, I have worked out you can have one and only one developer provision and developer application on the iPhone at a time otherwise you get installation errors etc…

I also had to have the correct Bundle Identifier in the Info.plist file and make sure the ‘Code Signing Identity’ and ‘Code Signing Provisioning Profile’ was also correct.

Hopefully this is useful to someone, Good Luck!!!

Objective-C Mod Command

No Comments » by Jon Hibbins on 22 August 2008
Filed under: Code, Objective-C, Quick Tips, Software Development, iPhone

If you are looking for the Objective-C Mod Command then look no further

To get the equivalent of a = b div c then :

a = b % c